INDEX på LEFT(namn,1)

Databaser & SQL

1 svar · 175 visningar · startad av Asterix

Medlem sedan dec. 1999483 inlägg
Trådstart#1

Jag har en databas som jag kör:
"SELECT DISTINCT(LEFT(name, 1)) FROM tabell"
Väldigt mycket på. Går det att indexera LEFT(name,1) eller ska jag göra så att första tecknet sparas i en egen kolumn så att man indexera den? För det bör väl gå rätt mycket fortare om jag indexerar LEFT(name, 1) eller en kolumn som innehåller första tecknet?

Medlem sedan dec. 200012 464 inlägg
#2

Det är väl bara att testa. Jämför utskriften från explain med och utan index.

Att ha en extra kolumn är inte meningsfullt.

252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)