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
SQL-Paging-Abfrage:Hintergrund Im System des Unte...
Inhaltsverzeichnis Vorwort Hintergrund Umsetzungs...
1. Datenbankdaten simulieren 1-1 Datenbank- und T...
01. Befehlsübersicht Basisname - entfernt Verzeic...
Entfernen Sie das gepunktete Kästchen auf dem Link...
Verwenden Sie Javascript, um ein Message Board-Be...
Da die Anzahl der Besuche zunimmt, werden bei ein...
Ich bin heute auf ein seltsames Netzwerkproblem g...
Klären Sie zunächst einige Konzepte: JDBC: Java-D...
Methode 1: Verwenden Sie zur Lösung die CSS-Überl...
Einführung MySQL bietet einen EXPLAIN-Befehl, der...
1. Aktivieren Sie Prometheus-Telemetriedaten Stan...
1. Erstellen Sie den Ordner /usr/local/services/z...
Vorwort Wenn wir das MySQL-Datenbankkennwort verg...
Inhaltsverzeichnis 1. Neu II. Änderung element-ui...