Visa ett inlägg
Oläst 2009-08-19, 18:14 #3
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Vad brukar vara det vanligaste sättet att lösa den här typen av problem då?

En idé jag hade var att sätta ett index på de tre kolumner som förekommer flest i villkorssatser, och alltid placera dessa villkor först i queryn.

T.ex:

Om jag skapar ett index för kolumnerna boarea och pris, och jag har en query som ser ut på följande sätt:

SELECT ... FROM ... WHERE boarea > 50 && pris > 1500000 && rum > 3 ... övriga villkor.

Kommer MySQL då att dra nytta av detta index för att begränsa resultatet innan de övriga villkoren vägs in? (t.ex. rum > 3 etc.)

Även om det är på det viset så kan jag inte komma fram till ett bra sätt att lösa detta på.

Säg att det är 8 kolumner ur tabellen som används i 80% av sökningarna.
Måste man bygga upp ett index för varje tänkbar villkorskombination då för att MySQL skall kunna använda ett index vid varje query?
D.v.s:
index1: land, stad, boarea, pris
index2: land, stad, pris
index3: land, boarea, pris

Det låter ju onekligen rätt rörigt.
objx är inte uppkopplad   Svara med citatSvara med citat