Hoi,
query time: ~10 seconden
versus:
query time: 0.weinig
Mijn vraag in het kort:
In essentie zijn 1ste en 2e query het zelfde, maar waarom pakt mysql dat niet zo op?
(ps. bovenstaande komt uit een op oscommerce gebaseerde zoekfunctie, weergave is vereenvoudigd om mijn punt te verduidelijken. Punt is ook niet om de query snel te krijgen dat is ie al (al mag die natuurlijk altijd sneller), ik probeer de werkwijze en het nut van indexen alleen beter te begrijpen).
Code:
select .......
from products p
left join products_description pd on pd.products_id = p.products_id
left join ... .. on ....
left join ... .. on ....
left join ... .. on ....
left join ... .. on ....
where niet_index (pd.products_descripting) like '%iets%' and ....
versus:
Code:
select .......
from products p
left join products_description pd on pd.products_id = p.products_id
left join ... .. on ....
left join ... .. on ....
left join ... .. on ....
left join ... .. on ....
where index(p.products_id) in (select products_id from products_description where niet index (products_description) like '%iets%') and ...
Mijn vraag in het kort:
In essentie zijn 1ste en 2e query het zelfde, maar waarom pakt mysql dat niet zo op?
(ps. bovenstaande komt uit een op oscommerce gebaseerde zoekfunctie, weergave is vereenvoudigd om mijn punt te verduidelijken. Punt is ook niet om de query snel te krijgen dat is ie al (al mag die natuurlijk altijd sneller), ik probeer de werkwijze en het nut van indexen alleen beter te begrijpen).
Laatst bewerkt: