Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#36

AW: Wie würdet Ihr das lösen?

  Alt 16. Jan 2015, 19:19
Eine Datenbank kann komplett ohne Index arbeiten und tadellos funktionieren, ist dann aber um ein Vielfaches langsamer, als eine halbwegs ordentlich indizierte DB.
Ein Index verlangsamt die INSERT und DELETE-Operationen, da dieser aktualisiert werden muss.
Kommt drauf an, Du hast selbst unten nach mit und ohne 'Where' unterschieden.
Ein Delete mit 'Where' dürfte mit (verwendetem) Index und ausreichender Selektivität der Bedingung auch mal gern schneller sein.
Auch ein UPDATE ohne WHERE wird dann langsamer.
'dann'? Wann? Mit Index ohne 'where'? Auch das ist von anderen Bedingungen abhängig.
Auch für ein ungeordnetes SELECT benötigt man keinen Index und ein Index beschleunigt die Abfrage auch nicht (oder?).
Benötigt sowieso nicht, das war ja meine Kernaussage. Ungeordetes Select? Ich nehme an, Du sprichst nicht von Order by clauses oder doch? Beschleunigen sollte er trotzdem, wenn der Index für die Abfrage genutzt werden kann.
Wenn man das allerdings auf eine ganze Datenbank ausdehnt, also mit Beziehungen zwischen den Tabellen, hast Du vollkommen Recht-
Meine Ausführungen zum Index waren eher grundsätzlicher Natur. Ich glaube nicht, dass es dem TE an erster Stelle hilft, solche Unterscheidungen zu berücksichtigen, wenn der Begriff selbst nicht richtig verstanden ist oder ein vages Verständnis besteht, aber unter einem falschen Begriff.

Allerdings fallen mir nicht viele sinnvolle Anwendungen ein, wo man komplett ohne Index auskommt.
Wie gesagt, es ging nur um eine plastische Darstellung der Bedeutung/Funktion eines Index.
Zitat:
...teilweise legt eine DB Indizes automatisch an...
Ich kenne hier nur den Primary-Key Constraint. Wo passiert das noch?
[/QUOTE]
Kann ich nicht allgemein sagen, würde sogar davon ausgehen, dass es irgendwo da draußen Systeme gibt, die nicht mal bei einem Primärschlüssel automatisch indizieren. Es gibt aber bspw. Systeme, die das automatisch bei Unique Constraints machen.
Solche und ähnliche Konstrukte beeinflussen sicherlich auch die Insert / Update Geschwindigkeit positiv mit Index und ohne dessen direkte Verwendung in der Where Clause.

Den TE dürfte das aber eher wenig interessieren.
Gruß, Jo
  Mit Zitat antworten Zitat