Zitat:
|
This means that if you are constantly updating, inserting and removing entries in your table this could have a negative impact on performance.
|
Das bedeutet, dass durch den Umstand, dass das DBMS einen Index vorhält und diesen natürlich auch pflegen muss, es unter Umständen dazu kommen kann, dass eine Indizierte Tabelle langsamer ist, als eine nicht indizierte. Das ist allerdings nur in zwei Szenarien der Fall:
1.) Du hast deine Tabelle falsch indiziert. Falsch könnte zum Beispiel bedeuten in vorauseilendem Eifer einfach
alles, oder Felder die gar nicht indiziert werden müssen.
2.) Deine Tabelle ist noch klein. Dadurch dauert das Auslesen augenscheinlich genau so lange, das aktualisieren, einfügen und löschen jedoch etwas länger. Aber zum einen rede ich hier nun von Sekundenbruchteilen, die wahrscheinlich gar nicht mehr ohne weiteres messbar sind und zum andern selbst wenn, ist dieser "Gewinn" auch mit steigender Anzahl an Datensätzen schnell weg.
Zitat:
Zitat von ComicKopf
Meine Tabellen sind ordentlich normalisiert. Allerdings habe ich keine genaue Vorstellung was mit Indizes gemeint ist.
|
Ein Idex ist eine eigenschaft, die du einer Spalte zuweist. Damit weißt du das DBMS an, sozusagen ein "Inhaltsverzeichnis" für diese Spalte zu führen. Wenn du nun ein SELECT-Statement mit eine WHERE-Klausel auf diese Spalte abschickst, muss das DBMS nicht in der Spalte selbst nachsehen, sondern kann im Inhaltsverzeichnis nachschlagen und somit Zeit gewinnen.
Zitat:
Zitat von ComicKopf
Die Tabellen werden auch ständig geändert,
was ja, laut dem Zitat, dann nicht hilfreich ist. Es klang aber in deiner ersten Antwort nach einer unverzichtbaren Maßnahme.
|
Ich hoffe doch, dass sich die Daten ändern, und nicht die Tabellen. Denn dann hast du definitiv
nicht ordentlich normalisiert

Unerlässlich kann man so direkt nicht sagen (es geht auch ohne), aber es ist guter Stil, Vorrausschauend und sauer! Was das Zitat angeht, das habe ich ja oben erläutert.