Mailinglisten-Archive |
Hallo Nikolas, ich weiß zumindest wo das Problem liegt: > "select artdata_wavi.*,artdata_web.* from artdata_web, artdata_wavi where > artdata_web.artnr_neu=artdata_wavi.artnr_neu and > (artdata_web.wbez like 'helm%' or artdata_wavi.artnr_alt like 'helm%');" zwei Kriterien mit like '%' in zwei tabellen und mit Bedingung OR, daher wird MySql vermutlich nichts anderes übrig bleiben, als mindestens eine Tabelle komplett zu durchsuchen. Schneller wird das nur, wenn durch das Where in einer Tabelle die Anzahl der in Frage kommenden Sätze einschränkbar ist (durch das OR wird in diesem Fall alles über den Haufen geworfen nach dem Motto "kann sein, muß aber nicht"). kannst Du die likes nicht auf eine Tabelle beschränken? Oder wenigstens das OR killen. Notfalls kann man mit Union arbeiten (geht aber erst ab 4.0). Dann würde man im 1. Statement eine Like-Abfrage nur auf die eine Tabelle machen und im 2. Statement nur auf die 2. Tabelle. Das ganze über "Union All" verbinden, könnte gehen. Das mit dem leichten Import hab ich auch nicht so ganz kapiert. Es gibt ja auch Update Statements... mit denen man nur einen Teil aktualisiert... Grüße und viel Erfolg, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive