Generiert Django automatisch Indizes für Fremdschlüssel oder hängt dies nur von der zugrunde liegenden DB-Richtlinie ab?
Antworten:
Django erstellt automatisch einen Index für alle models.ForeignKeySpalten.
Aus der Django-Dokumentation :
Ein Datenbankindex wird automatisch auf dem erstellt
ForeignKey. Sie können dies , indem Sie deaktivierendb_indexzuFalse. Möglicherweise möchten Sie den Overhead eines Index vermeiden, wenn Sie einen Fremdschlüssel aus Gründen der Konsistenz anstelle von Verknüpfungen erstellen oder wenn Sie einen alternativen Index wie einen Teil- oder Mehrspaltenindex erstellen.
./manage.py sql appnameSie ausführen, werden die SQL-Anweisungen für die Indexerstellung angezeigt. Sie kommen direkt nach der SQL für die Erstellung der letzten benötigten Tabelle.
./manage.py sqlindexes appnamedie Indizes selbst aus.
./manage.py sqlindexes appnamefunktioniert in den letzten Django-Versionen nicht mehr.
db_indexParameter in ForeignKey ab, der standardmäßig True ist.