Vorwort Ich habe viele Blogs gelesen und von vielen Leuten, darunter auch dem DBA unseres Unternehmens, gehört, dass, wenn in MySql eine Spalte null enthält, der Index, der diese Spalte enthält, ungültig ist. Ich habe „High Performance MySQL 2nd Edition“ und „MySQL Technology Insider – InnoDB Storage Engine 2nd Edition“ durchgeblättert, konnte aber keine Einführung hierzu finden. Aber nachdem ich es lokal ausprobiert hatte, stellte ich fest, dass die Nullspalte den Index verwenden kann, egal ob es sich um einen Einzelspaltenindex oder einen gemeinsamen Index handelt, aber sie ist auf „ist null“ beschränkt. „Ist nicht null“ verwendet den Index nicht. Später fand ich in der offiziellen Dokumentation die Beschreibung, dass der Index tatsächlich verwendet werden kann, wenn eine Spalte null enthält. Die Adresse lautet: https://dev.mysql.com/doc/refman/5.7/en/is-null-optimization.html. Es funktioniert sowohl in MySQL 5.6 als auch in 5.7 und die Speicher-Engine ist InnoDB. Die Daten lauten wie folgt: 1. Einspaltiger Index Erstellen Sie einen einzelnen Spaltenindex für die Spalte „Name“: Fragen Sie die Zeilen ab, in denen der Name null ist: Fragen Sie die Zeile ab, deren Name „test0“ oder null ist: Sie können feststellen, dass Indizes verwendet werden können. 2. Gemeinsamer Index Fügen Sie einen gemeinsamen Index für Alter und Name hinzu: Fragen Sie die Zeilen ab, in denen das Alter 14 und der Name null ist: Sie können feststellen, dass der Index auch verwendet wird. 3. Sonstiges Obwohl MySQL Indizes für Spalten mit Nullen verwenden kann, bedeutet dies nicht, dass Nullen mit anderen Daten im Index identisch sind. Es wird nicht empfohlen, Nullen in Spalten zuzulassen. Am besten beschränken Sie sich auf „nicht null“ und legen einen Standardwert fest, beispielsweise 0 und „leere Zeichenfolge“. Wenn es sich um einen Datums-/Uhrzeittyp handelt, können Sie ihn auf einen speziellen Wert wie „1970-01-01 00:00:00“ festlegen. Für MySQL ist Null ein spezieller Wert. Konzeptionell bedeutet NULL „ein fehlender unbekannter Wert“ und wird etwas anders als andere Werte behandelt. Beispiele: Operatoren wie =, <, > können nicht verwendet werden, das Ergebnis von Rechenoperationen mit Null ist Null, Nullzeilen werden bei der Zählung nicht berücksichtigt, Null erfordert mehr Speicherplatz als eine leere Zeichenfolge usw. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Implementierungscode zur Installation von vsftpd in Ubuntu 18.04
>>: Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays
Vorwort Nach der Installation von MySQL und Navic...
Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...
Inhaltsverzeichnis 1. Erstellen Sie eine Wasserze...
In diesem Artikelbeispiel wird der spezifische Co...
Im vorherigen Artikel [Detaillierte Erläuterung v...
In einem Projekt müssen Sie häufig Umgebungsvaria...
<br />Mit der zunehmenden Bandbreite werden ...
1. Grundkenntnisse (Methoden von Datumsobjekten) ...
In diesem Artikel wird der spezifische Code zum I...
Ich wurde in letzter Zeit häufig zu einer offensi...
Ich habe gehört, dass es eine Interviewfrage gibt...
In diesem Artikel wird hauptsächlich der Fall vor...
Die Vorbereitung auf die Abschlussprüfungen im le...
Das Document Object Model (DOM) ist eine Plattfor...
In HTML kann die chinesische Phrase „學好好學“ als „學...