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 1. Prototyp-Beziehung 2. Proto...
#1. Herunterladen # #2. Entpacken Sie die Datei l...
Implementierungseffektdiagramm für die Navigation...
<table id=" <%=var1%>">, der...
Das Docker-Repository selbst ist sehr langsam, ab...
Grundlegende Einführung Im vorherigen Artikel hab...
Nachdem MySQL installiert wurde, können Sie in ei...
Methode 1: Befehlszeilenänderung Wir müssen nur d...
Erstellen von Tabellendaten CREATE TABLE `praise_...
Obwohl wir keine professionellen DBAs sind, könne...
1. Warum verpacken? Erleichtert das Aufrufen von ...
Zuvor haben wir Docker verwendet, um das SpringBo...
Inhaltsverzeichnis Vue3 + TypeScript lernen 1. Um...
Inhaltsverzeichnis 1. Ternäres Operatorurteil 2. ...
Inhaltsverzeichnis Text LOCK-Parameter ALGORITHMU...