MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 04.01.2015, 21:10   #1
ebs17
MOF Guru
MOF Guru
Standard Grundlagen - SQL ist leicht (8) - Index

Man muss viele Frösche küssen, ehe man seinen Prinzen findet.
Da wäre es doch sehr hilfreich und die Auswahl abkürzend, wenn die Prinzenfrösche sichtbar markiert wären, z.B. mit einem Krönchen auf dem Kopf.

In einer Datenbank, in der Auswahlvorgänge deutlich reichlicher stattfinden, übernimmt ein Index diese markierende Funktion des Krönchens. Ein Index ist in einer Datenbank ein ebenso essenzielles Element wie ein Feld, eine Tabelle oder eine Beziehung und verdient schon deshalb eine gleichwertige Beachtung bei der Modellierung einer Datenbank sowie dann auch bei der Arbeit mit der Datenbank.

Wenn man einen Index angelegt hat und dann auch nutzt, also nicht durch bestimmte Gestaltungen im Abfragedesign neutralisiert, bekommt man positive Wirkungen
- beim Filtern,
- beim Verknüpfen,
- beim Gruppieren und Aggregieren sowie
- beim Sortieren.

Ein Index hilft beim Lesen von Daten, da ja das Finden erleichtert wird. Das Lesen und aufbauend das Verarbeiten von Daten wird auch die vorherrschende Aufgabe einer Datenbank sein. Dem gegenüber erhöht ein Index beim Schreiben von Daten den Aufwand, da hier neben den Daten auch der Indexbaum gepflegt werden muss. Insofern müsste man Datenbanken, in denen statt des Datensammelns und -speicherns ein ständiger Austausch und Wechsel stattfindet, etwas anders behandeln. Eine Datenbank im üblichen Sinne sammelt aber eher Daten, so dass Indizes vorwiegend helfen werden, eine gezielte Indexplanung und -verwendung vorausgesetzt.

Damit nicht genug: In Jet (Access) holt sich die Datenbankmaschine alle für eine Abfrage benötigten Daten zu sich heran, im typischen ungünstigen Fall jeweils komplette Tabellen, diese in entsprechenden Abfragekonstellationen auch mehrfach. Das erzeugt Datentraffic, der durch ein Netzwerk entsprechend der Leistungsfähigkeit verzögert werden kann. Übersteigt die gezogene Datenmenge inklusive eigener Zwischenergebnisse beim Rechnen den Arbeitsspeicher, der für Access bereitgestellt wurde und zudem auch noch frei ist, erfolgt eine Datenumschichtung in die Auslagerungsdatei, sprich auf die Festplatte. Nun sind Input-/Output-Aktionen einer Festplatte dramatisch langsamer als wenn man mit Arbeitsspeicher pur arbeiten kann. Das Ganze drückt sich dann in einem Zeitbedarf aus.

Jet ist in der Lage, Indizes in einem Access-Backend zu erkennen und zu nutzen. Dies bedeutet folgendes: Führe ich eine Filterung auf eine Tabelle aus und ein Index dazu wäre vorhanden und würde genutzt, würde nur das Filterergebnis (z.B. 97 Datensätze aus einer Tabelle mit 100.000 Datensätzen) gezogen statt der kompletten Tabelle. Damit ergeben sich spürbare Effekte für die Performance, die sich in Summe um eine Beschleunigung einer Abfrage um einen Faktor zwischen 0 und mehreren Zehntausend ausdrücken können.

Das sind genügend Gründe, sich dem Thema Index und Indexnutzung frühestmöglich und dann konsequent und nachhaltig zuzuwenden.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.