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
Das Installationstutorial für mysql5.7.17 wird Ih...
Inhaltsverzeichnis Kein Schalter, keine komplexen...
In diesem Artikel wird der spezifische Code für J...
Heute werde ich diese Anfängerfragen beantworten: ...
Quelle des Problems: Wenn der Slave-Server der ge...
Installieren Sie vsftpd $ sudo apt-get installier...
brew install nginx Apple Mac verwendet zur Instal...
Inhaltsverzeichnis 1. Installieren Sie das Proxy-...
Inhaltsverzeichnis Frage Hintergrund Idee & U...
Hintergrund Wenn wir uns über den MySQL-Client in...
Diese Sammlung zeigt eine Reihe herausragender und...
deepin und Ubuntu sind beides auf debian basieren...
Ich habe vor Kurzem mein SQL-Lernen beendet und M...
Beachten Sie, dass dieser Artikel Ihnen nicht ein...
Sowohl die Optionen „Nur lesen“ als auch „Deaktiv...