sql >> Databasteknik >  >> RDS >> Mysql

Gör index på Varchar skillnad på prestanda?

Nej, det gör det inte.
Om optimeraren bestämmer sig för att använda indexet kommer frågan att köras snabbare. INSERT s/UPDATE s/DELETE s på det bordet kommer att vara långsammare, men inte tillräckligt för att märka det.

Tänk på att använda:

LIKE '%whatever%'

...kommer inte använda ett index, men följande kommer:

LIKE 'whatever%'

Nyckeln är jokertecken på vänster sida av strängen, vilket betyder att ett index i kolumnen inte kan användas.

Tänk också på att MySQL begränsar mängden utrymme som avsatts för index - de kan vara upp till 1000 byte långa för MyISAM-tabeller (767 byte för InnoDB).



  1. Söker efter emojis i MySQL

  2. Hur man tar bort efterföljande nollor från en decimal i PostgreSQL

  3. Spring Boot JPA MySQL :Det gick inte att fastställa en lämplig drivrutinsklass

  4. INNER JOIN samma bord