Welchen Ansatz haben Sie beim Erstellen und Verwalten von Datenbankindizes bei der Verwendung von ORM, z. B. NHibernate/Hibernate?ORM- und Datenbankindizes
Da das ORM die Abfragen generiert, gibt es irgendwelche Tools, die Sie empfehlen könnten, die Abfragepläne dieser analysieren und die Art der Indizes vorschlagen, die erstellt werden sollten?
Mein aktueller Ansatz ist ... warten, bis etwas langsam funktioniert und dann finden Sie die langsame Abfrage und optimieren Sie es ... aber das ist irgendwie lahm, nicht wahr? Mein Ziel ist nicht, mit Dutzenden oder Hunderten von Indizes zu enden, von denen niemand weiß, welche tatsächlich vom System verwendet werden und welche nicht. Also nochmal Indexpflege.
Meine Umgebung ist NHibernate + SQL Server 2005.
Wir haben ziemlich viele Abfragen und es macht keinen Sinn, Indizes für jedes "offensichtliche" Feld zu erstellen, da ich nicht Hunderte von Indizes in der Datenbank definieren lassen möchte. Was ich möchte, ist jedoch, Dinge zu indizieren, die eigentlich langsam sind, oder kombinierte Indizes zu verwenden, die für mehrere Abfragen dienen könnten, anstatt jede Abfrage einzeln zu optimieren. Alles aufgrund der Tatsache, dass jede Abfrage während der Ausführung nur einen Index pro Datenbank verwenden kann. –
Es sollte einen Index pro Tabelle geben, sorry. –