Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Macht der Index auf Varchar einen Leistungsunterschied?

Nein, tut es nicht.
Wenn der Optimierer entscheidet, den Index zu verwenden, wird die Abfrage schneller ausgeführt. INSERT s/UPDATE s/DELETE s auf diesem Tisch werden langsamer sein, aber wahrscheinlich nicht genug, um es zu bemerken.

Beachten Sie, dass Sie Folgendes verwenden:

LIKE '%whatever%'

...wird nicht Verwenden Sie einen Index, aber das Folgende wird:

LIKE 'whatever%'

Der Schlüssel ist ein Platzhalter auf der linken Seite der Zeichenfolge, was bedeutet, dass ein Index für die Spalte nicht verwendet werden kann.

Beachten Sie auch, dass MySQL den Speicherplatz begrenzt, der für Indizes vorgesehen ist - Sie können bis zu 1000 Bytes lang sein für MyISAM-Tabellen (767 Bytes für InnoDB).