Zusammenfassend:
Beim Entwerfen einer Tabelle:
Index:
Zusammenfassung: Verwenden Sie den geeigneten Datentyp und wählen Sie den geeigneten Index Das Schreiben von SQL muss optimiert werden: Verwenden Sie „Limit“, um die Datensätze in den Abfrageergebnissen einzuschränken Vermeiden Sie „select *“ und listen Sie die Felder auf, nach denen Sie suchen müssen. Verwenden Sie Verknüpfungen anstelle von Unterabfragen Aufteilen großer Delete- oder Insert-Anweisungen Sie können das langsame SQL herausfinden, indem Sie das Protokoll für langsame Abfragen aktivieren Keine Spaltenoperationen: SELECT id WHERE age + 1 = 10. Jede Operation an der Spalte führt zu einem Tabellenscan, einschließlich Datenbank-Tutorialfunktionen, Berechnungsausdrücke usw. Versuchen Sie beim Abfragen, die Operation rechts neben das Gleichheitszeichen zu verschieben. Die SQL-Anweisung sollte so einfach wie möglich sein: Eine SQL-Anweisung kann nur auf einer CPU ausgeführt werden; große Anweisungen sollten in kleine Anweisungen aufgeteilt werden, um die Sperrzeit zu verkürzen; eine große SQL-Anweisung kann die gesamte Datenbank blockieren Schreiben Sie OR in IN um: OR hat eine Effizienz von n, während IN eine Effizienz von log(n) hat. Es wird empfohlen, die Anzahl der INs auf 200 zu begrenzen. Es sind keine Funktionen oder Trigger erforderlich, um Vermeiden Sie Abfragen im %xxx-Stil Verwenden Sie JOIN sparsam Verwenden Sie zum Vergleich den gleichen Typ, z. B. „123“ und „123“, 123 und 123 Vermeiden Sie nach Möglichkeit die Verwendung der Operatoren != oder <> in der WHERE-Klausel. Andernfalls gibt die Engine den Index auf und führt einen vollständigen Tabellenscan durch. Für aufeinanderfolgende Werte verwenden Sie BETWEEN statt IN: SELECT id FROM t WHERE num BETWEEN 1 AND 5 Verwenden Sie nicht die gesamte Tabelle für Listendaten. Verwenden Sie LIMIT, um die Daten in Seiten aufzuteilen. Die Anzahl der Seiten sollte nicht zu groß sein. Motor: MeinIsAM Zeilensperren werden nicht unterstützt. Alle Tabellen, die gelesen werden müssen, werden beim Lesen gesperrt, und beim Schreiben werden den Tabellen exklusive Sperren hinzugefügt. Keine Unterstützung für Transaktionen Fremdschlüssel werden nicht unterstützt Unterstützt keine sichere Wiederherstellung nach einem Absturz Unterstützt das Einfügen neuer Datensätze in die Tabelle, während die Tabelle gelesen und abgefragt wird Unterstützt die Indizierung der ersten 500 Zeichen von BLOB und TEXT sowie die Volltextindizierung Unterstützt verzögerte Aktualisierung von Indizes, was die Schreibleistung erheblich verbessert Für Tabellen, die nicht geändert werden, wird die Komprimierung unterstützt, um den Speicherplatzbedarf erheblich zu reduzieren InnoDB Unterstützt Zeilensperren und verwendet MVCC, um hohe Parallelität zu unterstützen Supportangelegenheiten Unterstützt Fremdschlüssel Unterstützt die sichere Wiederherstellung nach einem Absturz Keine Unterstützung für Volltextindizierung Im Allgemeinen eignet sich MyISAM für SELECT-intensive Tabellen, während InnoDB für INSERT- und UPDATE-intensive Tabellen geeignet ist. Partition, Tabelle und Datenbank (Trennung von Lesen und Schreiben) Oben finden Sie eine ausführliche Erklärung und Integration der vom Herausgeber vorgestellten MySQL-Optimierungsstrategien. Ich hoffe, dass es für alle hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Nginx-Rewrite-Jump-Anwendungsszenarien
>>: Vue + Express + Socket realisiert Chat-Funktion
Mit dem img-Element können wir Bilder in HTML-Dok...
Anwendungsszenario 1: Domänennamenbasierte Umleit...
Der Schlüssel zum Erreichen der Zuordnung des Rahm...
Hintergrund Ich lerne vor Kurzem nodejs und mir f...
Frage: In index.html führt iframe son.html ein. Wi...
1. Doppelklicken Sie zunächst auf das VMware-Symb...
Der Unterschied zwischen „Ersetzen durch“ und „Ei...
1. MySQL-Download-Adresse; http://ftp.ntu.edu.tw/...
Inhaltsverzeichnis Bidirektionales Bindungsprinzi...
1. Grundlegende Verwendung <!DOCTYPE html> ...
*** Beispiel für das Festlegen des Stils eines Hy...
Inhaltsverzeichnis Vorwort Direktfüllmethode für ...
Inhaltsverzeichnis Ziele für diesen Zeitraum 1. F...
Inhaltsverzeichnis Das Verfahren Im Objekt Verste...
vue-router hat zwei Modi Hash-Modus Verlaufsmodus...