Hallo zusammen,
seit langem auch mal wieder im Forum :-) und gleich ein Tip für alle Interbase'ler:
Wie sich so eben bei Versuchen ein Query schneller zu machen herausstellte bringt folgende Variante einer where-Bedingung immense Performancezuwächse:
select artikel.id, artikel.bezeichnung, hersteller.bezeichnung
from artikel
inner join hersteller on artikel.hersteller_id = hersteller.id
where upper(hersteller.bezeichnung) like "%ORLA%"
and not (artikel.hersteller_id = 0)
die vorige und für mich viel logischere variante war:
select artikel.id, artikel.bezeichnung, hersteller.bezeichnung
from artikel
inner join hersteller on artikel.hersteller_id = hersteller.id
where upper(hersteller.bezeichnung) like "%ORLA%"
and artikel.hersteller_id > 0
der join ging noch über 2 weitere tabellen, die ich der einfachheit halber hier weggelassen habe. wer id's benutzt wird sich über einen select, der 50 MILLISEKUNDEN gegenüber vorher 30 SEKUNDEN freuen
viele grüße
holger
seit langem auch mal wieder im Forum :-) und gleich ein Tip für alle Interbase'ler:
Wie sich so eben bei Versuchen ein Query schneller zu machen herausstellte bringt folgende Variante einer where-Bedingung immense Performancezuwächse:
select artikel.id, artikel.bezeichnung, hersteller.bezeichnung
from artikel
inner join hersteller on artikel.hersteller_id = hersteller.id
where upper(hersteller.bezeichnung) like "%ORLA%"
and not (artikel.hersteller_id = 0)
die vorige und für mich viel logischere variante war:
select artikel.id, artikel.bezeichnung, hersteller.bezeichnung
from artikel
inner join hersteller on artikel.hersteller_id = hersteller.id
where upper(hersteller.bezeichnung) like "%ORLA%"
and artikel.hersteller_id > 0
der join ging noch über 2 weitere tabellen, die ich der einfachheit halber hier weggelassen habe. wer id's benutzt wird sich über einen select, der 50 MILLISEKUNDEN gegenüber vorher 30 SEKUNDEN freuen
viele grüße
holger
Comment