Heim  >  Artikel  >  Datenbank  >  Was sollten Sie bei der Verwendung von Indizes in MySQL beachten?

Was sollten Sie bei der Verwendung von Indizes in MySQL beachten?

王林
王林Original
2020-09-30 13:36:093260Durchsuche

Bei der Verwendung von Indizes in MySQL beachten Sie bitte: 1. NULL-Werte in Spalten werden nicht in den Index aufgenommen. 2. Bei der Indizierung einer Zeichenfolge sollten Sie eine Präfixlänge angeben. 3. MySQL-Abfragen verwenden nur einen Index; 4. Führen Sie keine Operationen an Spalten aus. 5. Verwenden Sie keine NOT IN-Operationen.

Was sollten Sie bei der Verwendung von Indizes in MySQL beachten?

Hinweise:

(Empfohlenes Tutorial: MySQL-Tutorial)

1. Der Index enthält keine Spalten mit NULL-Werten

Solange die Spalte NULL-Werte enthält, wird sie nicht in den Index aufgenommen index: Solange eine Spalte im zusammengesetzten Index einen NULL-Wert enthält, ist diese Spalte für diesen zusammengesetzten Index ungültig. Daher sollten wir beim Entwerfen der Datenbank nicht zulassen, dass der Standardwert des Felds NULL ist.

2. Verwenden Sie einen kurzen Index

, um die Zeichenfolge zu indizieren. Wenn möglich, sollten Sie eine Präfixlänge angeben. Wenn Sie beispielsweise eine CHAR(255)-Spalte haben und die meisten Werte innerhalb der ersten 10 oder 20 Zeichen eindeutig sind, indizieren Sie nicht die gesamte Spalte. Kurze Indizes verbessern nicht nur die Abfragegeschwindigkeit, sondern sparen auch Speicherplatz und E/A-Vorgänge.

3. Indexspaltensortierung

MySQL-Abfrage verwendet nur einen Index. Wenn also der Index in der where-Klausel verwendet wurde, verwenden die Spalten in der Reihenfolge nach nicht den Index. Verwenden Sie daher keine Sortiervorgänge, wenn die Standardsortierung der Datenbank die Anforderungen erfüllen kann. Versuchen Sie, die Sortierung mehrerer Spalten nicht einzuschließen. Bei Bedarf ist es am besten, zusammengesetzte Indizes für diese Spalten zu erstellen.

4. Like-Anweisungsoperation

Im Allgemeinen wird die Verwendung einer Like-Operation nicht empfohlen. Wenn sie verwendet werden muss, ist auch die Verwendung problematisch. Wie „%aaa%“ wird der Index nicht verwendet, aber wie „aaa%“ kann der Index verwendet werden.

5. Führen Sie keine Operationen an Spalten

wie folgt aus:

select * from users where YEAR(adddate)<2007;

führt Operationen an jeder Zeile aus, was zu einem Indexfehler und einem vollständigen Tabellenscan führt, sodass wir es wie folgt ändern können:

select * from users where adddate<‘2007-01-01&#39;;

6. Verwenden Sie nicht die Operationen NOT IN und a8093152e673feb7aba1828c43532094

Das obige ist der detaillierte Inhalt vonWas sollten Sie bei der Verwendung von Indizes in MySQL beachten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn