waarom select veel from ... left join ... where non_index like %iets% verus ...

Status
Niet open voor verdere reacties.

JDVB

Gebruiker
Lid geworden
20 aug 2003
Berichten
89
Hoi,

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 ....
query time: ~10 seconden

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 ...
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).
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan