Kürzlich beschleunigte ich eine komplizierte Abfrage um eine Größenordnung, indem ich SQLite einen guten Index zum Arbeiten gab. Solche Ergebnisse lassen mich fragen, ob ich viele andere Felder indizieren sollte, die häufig für JOINs oder ORDER BY-Klauseln verwendet werden. Aber ich möchte nicht übereifrig werden und es auf mich zurückfeuern lassen: Ich nehme an, dass es einige Gründe geben muss nicht Indizes zu erstellen, oder jedes Feld würde standardmäßig indiziert werden.Was sind die Nachteile vieler Indizes?
Ich benutze in diesem Fall SQLite, aber natürlich ist DBMS-agnostic Beratung auch willkommen.
Das deckt es ab. Vergessen Sie nicht, dass Sie auch richtige Indizes für eine gute Einfüge-/Aktualisierungs-/Löschleistung benötigen. Wie alle Dinge ist es ein Gleichgewicht. –
Inserts profitieren nicht von Indizes ... Updates und Deletes erfordern das Auffinden der relevanten Zeile (n), so dass sie von Indizes für diesen Schritt profitieren, aber wenn Sie zu viele Indizes haben, kann sogar dieser Vorteil negiert werden. Wie Sie sagen, es ist alles ein Gleichgewicht :) – MatBailie