Im Internet kursieren viele scheinbar wahre „Gerüchte“. Natürlich sind sie nicht böswillig. Die meisten davon sind darauf zurückzuführen, dass Entwickler nicht bereit sind, selbst Nachforschungen anzustellen, sondern stattdessen glauben, was andere sagen. Es gibt auch viele Gerüchte über Datenbanken, wie z. B. „Die Leistung von int ist viel höher als die von char“. Ich habe vor Kurzem einen Leistungstest mit int, long, char und varchar durchgeführt und festgestellt, dass zwischen ihnen tatsächlich kein großer Leistungsunterschied besteht: Hinweis: c8=char(8), s8=varchar(8), i8=(bigint), c4=char(4), s4=varchar(4), i4=char(4) 1 Million Zeilen ohne Index abfragen:
Erstellen Sie einen Index:
Abfrage mit Index:
abschließend: Kein Index: Der vollständige Tabellenscan wird nicht schneller, weil die Daten kleiner sind, aber die Gesamtgeschwindigkeit ist gleich, int/bigint als native Typen ist um 12 % etwas schneller. Mit Index: char und varchar haben eine ähnliche Leistung, int ist um 18 % etwas schneller In Bezug auf die Datenspeicherung sowie das Lesen und Schreiben verhalten sich Ganzzahlen und Zeichenfolgen gleicher Länge gleich, aber varchar hat ein zusätzliches Byte, sodass die Leistung leicht beeinträchtigt sein kann (1/n). Bei Datenoperationen und Vergleichen profitieren Integer von der nativen Unterstützung und sind daher etwas schneller als Strings. Bei Verwendung von Indizes ist der Leistungsunterschied zwischen Ganzzahlen und Zeichenfolgen sogar noch geringer. In der tatsächlichen Entwicklung verwenden viele Entwickler häufig Zeichenfolgen wie char(1) und char(4), um Typaufzählungen darzustellen. Meiner Meinung nach ist dieser Ansatz die beste Lösung, da er Datentypen wie int und enum in Bezug auf Speicherplatz, Rechenleistung, Lesbarkeit, Wartbarkeit und Skalierbarkeit weit überlegen ist. Das könnte Sie auch interessieren:
|
<<: So verwenden Sie & und nohup im Hintergrund von Linux
>>: Das WeChat-Applet implementiert das Schlangenspiel
Inhaltsverzeichnis Anforderungsbeschreibung Probl...
Vorwort Die Verzögerung der MySQL Master-Slave-Re...
Originalartikel: Ultimatives IE6-Cheatsheet: So b...
1. Vorhandene Module anzeigen /usr/local/nginx/sb...
Heute habe ich eine Fallstudie zur MySQL IN-Unter...
Vorwort Überprüfung und Zusammenfassung von REM-A...
Inhaltsverzeichnis Tutorial-Reihe 1. Einführung i...
Umgebungsvorbereitung Stellen Sie vor dem Starten...
Teilen Sie die coole zufällige QR-Code-Verifizier...
Es gibt viele Möglichkeiten, eine globale ID zu g...
1) Geltungsbereich: schreibgeschützt: Eingabe [Typ...
Link zum Download der ZIP-Datei auf der offiziell...
In diesem Artikel wird die spezifische Methode zu...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort: Die Artikelserie „Erste Schritte mit MyS...