Wenn ich Django verwende, sollte ich mich nicht um irgendwelche MySQl-Optimierung wie Indexierung oder etwas kümmern? Django erstellt automatisch alles? Erklären Sie bitteWenn ich Django verwende, sollte ich mich nicht um irgendwelche MySQl-Optimierung wie Indexierung kümmern?
Antwort
Antwort: Sie sollten sich kümmern, aber nicht zuerst (normalerweise).
Django erledigt nicht alles für Sie, nur die Basis-/Anfangsindizes (wenn Sie das Migrationstool verwenden und die Tabellen nicht manuell erstellen). Der Index bezieht sich auf die tatsächlichen Daten, die in der Tabelle gespeichert werden, und nicht nur auf die Tabellenstruktur, etwas, das django bei der Tabellenerstellung nicht bekannt ist. Einige Indizes, die Sie für "frei" erhalten, indem Sie einzigartige Einschränkungen erstellen (vorausgesetzt, Sie verwenden Tools wie "south", die das für Sie tun), aber keine echten Optimierungen - das müssen Sie selbst tun, wenn die Zeit gekommen ist.
Einige Optimierungen können vorgenommen werden, indem man Django "sagt", welche Indizes hinzugefügt werden sollen, aber Sie müssen sie selbst angeben.
Nein, Django erstellt nur Indizes, die vom Datenbanksystem benötigt werden, z. B. beim Erstellen von Fremdschlüsseln. Sie müssen Ihre Datenbank selbst optimieren, mehr dazu in der documentation.
Ja, Sie haben Recht ... mit Django können Sie Ihre Datenbank aus Ihrem Modell (Klassen) generieren, Sie müssen spezifische Vererbung und Typen verwenden, aber es ist ziemlich einfach zu handhaben und natürlich ist es so optimal wie nötig .
Sie können Django sagen, dass bestimmte Modellfelder als Index verwendet werden soll:
https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.Field.db_index
Siekönnen auch Spalten-Index zusammen:
https://docs.djangoproject.com/en/1.10/ref/models/options/#django.db.models.Options.index_together
- 1. log4net: Logger dynamisch erstellen, sollte ich mich um irgendetwas kümmern?
- 2. Delegierte, kann mich nicht um sie kümmern
- 3. Muss ich mich um Big Endian und Little Endian kümmern, wenn ich Daten über AudioInputStream lese?
- 4. iPhone: Was ist Springboard? Muss ich mich kümmern?
- 5. Wie bekomme ich Django, um Dateien zu löschen, wenn ich ein Modellobjekt entferne, wenn ich Django 1.9 verwende?
- 6. Wenn ich GCD verwende, sollte ich @autorelease Pool
- 7. Wie erhalte ich eine Seitenüberschrift, wenn ich Django-Flatseiten verwende?
- 8. Django: Wie verwende ich STATICFILES_FINDERS
- 9. Wenn ich Kanäle richtig verwende, sollte ich Mutexe verwenden?
- 10. Wenn ich UUIDs verwende, sollte ich auch AUTO_INCREMENT verwenden?
- 11. Sollte ich die addslashes-Funktion verwenden, wenn ich PDO verwende?
- 12. Kann ich mich mit der webView-Methode "loadRequest" um Threading kümmern? (iphone sdk Frage)
- 13. Kann Google mich verfolgen, wenn ich Google Web Fonts verwende?
- 14. Sollte ich mich in Python um zirkuläre Referenzen sorgen?
- 15. Symfony Firewall leitet mich nicht um, wenn ich mich nicht anmelde
- 16. Aus welchem Grund sollte ich mich verspotten?
- 17. Wie verwende ich Django Messaging, um andere Benutzer zu warnen?
- 18. Wie verwende ich Django Logging mit Gunicorn
- 19. Wie verwende ich CSS in Django?
- 20. Wie kann Django umgehen, wenn ich einen TinyMCE-Editor verwende?
- 21. Sollte ich mich von Veranstaltungen abmelden?
- 22. Wie sollte ich damit umgehen, zurück zur ursprünglichen Seite zu gehen, wenn ich History API verwende
- 23. Wie sollte ich Spiders/Web Crawler mit HTTP/0.9 umgehen, wenn ich Apache 2 verwende?
- 24. Sollte ich einen Wert verschieben, den ich nicht mehr verwende?
- 25. Wenn ich django Project WebPage besuche, erinnere mich das Protokoll: nicht gefunden favicon
- 26. Ich verwende eine Rails 2.3.4 App und frage mich, ob ich auf 3.0 upgraden sollte?
- 27. opencart fordert mich auf, mich erneut anzumelden, wenn ich den Image Manager verwende
- 28. Gibt es irgendwelche (negativen) Nebenwirkungen, wenn ich die "then" -Funktion eines Versprechens nicht verwende?
- 29. Gibt es einen guten Grund, warum ich mich darum kümmern sollte, ob Parameter über GET oder POST übergeben wurden?
- 30. Wie kann ich mich abmelden, wenn ich .htaccess (und .htpasswd) Authentifizierung verwende?