webForumDet fria alternativet

Infoga index

Databaser & SQL

7 svar · 232 visningar · startad av Asterix

Medlem sedan dec. 1999483 inlägg
Frågan#1

Är det några problem att infoga index i efterhand och är det något man ska tänka på?? Vad är nackdelen med att indexera.

Medlem sedan dec. 200012 464 inlägg
#2

Det är inga problem att lägga till index i efterhand.

Det du skall tänka på är vilka kolumner som används i sökning, vilka kolumner används vid join vilka används till sortering.

Vissa kolumner är det ingen ide att indexera, t.ex. om du har villkor

where aleb like '%magdur%'

så tjänar du inget på att indexera kolumnen aleb.

Nackdelar: Index tar diskutrymme och innebär att uppdateringar tar marginellt mer tid i vissa fall. Det kan även vara så att update/delete blir snabbare med ett index.

Medlem sedan dec. 1999483 inlägg
#3

Tack för hjälpen

Medlem sedan dec. 1999483 inlägg
#4

Varför tjänar jag inget på att indexera aleb

Medlem sedan dec. 1999483 inlägg
#5

Jag har en databas med massa spel och jag både söker och sorterar efter namnet. Då borde det vara bra att indexera namn eller?

Medlem sedan dec. 200012 464 inlägg
#6

Det låter vettigt att indexera namn. Det beror i och för sig på hur dina primärnycklar är definierade.

Om man använder ett villkor som like '%magdur%' så måste Mysql i alla fall läsa igenom alla poster för att hitta de som uppfyller villkoret och då är det bättre att läsa hela tabellen.

Medlem sedan dec. 1999483 inlägg
#7

Ok, jag har ett id för alla spel som är primärnyckel

Medlem sedan dec. 200012 464 inlägg
#8

I så fall låter det relevant att skapa ett index på namn.

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)