Mailinglisten-Archive |
Hallo B. Wolf, also langsam wird es Zeit, hier ein Ende zu finden. 1.) Du schreibst TOFU 2.) Du unterläßt die Quoting-Zeichen 3.) lassen sich die Fragen mit dem Handbuch auch leicht beantworten 4.) Probieren geht über studieren 5.) autodidaktisch erworbenes Wissen/erworbene Erfahrungen bringen tieferes Verständnis > Nun noch zu meiner "OR"-Verknüpfung. > [... eine QUERY mit OR ...] > Von der Abfrage-Dauer haben beide ziemlich genau gleich lang gebraucht, > allerdings habe ich keine Ahnung ob diese werte realistisch sind wenn sich > ... Dann schreib Dir ein Skript, daß die Tabelle mit 10.000 Werten oder mehr füllt. Wie? Zuerst ein Dump der aktuellen Tabelle. Dann mit einem guten Editor oder mit einem kleinen Skript neue Datenzeilen mit passenden/realistischen Zufallswerten füllen. Dann das Dump mit den neuen Daten in die DB einspielen - fertig. > Wirken sich die LIKE-Vergleiche sehr stark auf die Performance aus? Ja. Derlei LIKE-Bedingungen ('%wort%') können durch keinen Index unterstützt werden, da der Vergleichsbeginn nicht klar ist. (Also ob ab der ersten, zweiten oder der x-ten Stelle im String verglichen werden muß, um die Bedingung wahr werden zu lassen.) Bei einem LIKE 'B%' könnte der Bereich mit Zeichenketten, die vor und nach B sortiert werden übersprungen werden. Ein LIKE '%B%' muß jede Zeichenkette nach dem B an jeder Stelle untersuchen, was bei steigendem Datenaufkommen immer länger dauert, logischerweise. Noch ein Wort zum Vergleich der beiden Queries. Die OR-Query benutzt (noch) keine INNER JOINS, die ja (Zitat Andreas) der Optimierer ausnutzen kann. Also den AND-Teil solltest Du in die INNER JOIN ON stecken. Dann könnte der Optimierer wenigstens diesen Teil effizient realisieren können. Aber dies überlasse ich Dir als Übung. Gruß, Christoph -- Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7 ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive