phpbar.de logo

Mailinglisten-Archive

Anzahl und laufzeit einer Abfrage

Anzahl und laufzeit einer Abfrage

henry bayer henry_bayer at gmx.de
Mon Jun 28 12:16:45 CEST 2004


guten morgen,


> Wie frage ich in statt dessen ab ?
>
>> b) gewichtiger ist jedoch, daß der index nicht benutzt werden kann,

LIKE "wert%" benutzt den index
LIKE "%wert" oder LIKE "%wert%" benutzt nicht den index

nun, wie man ansonsten abfragt, ist eine frage, die vor der erstellung einer
datenbank beantwortet sein sollte, sprich: um welchen inhalt geht es und wie
wird dieser in welcher frequenz abgefragt bzw. eingegeben. stichwort:
normalisierung. entsprechend kann ich dir das nicht beantworten, weil ich
nicht weiß, um welchen content etc. es geht.

wenn ich aber sehe, daß nach Markus Schmidt im like-string mit vorne und
hinten % abgefragt wird, dann stimmt da m.e. etwas nicht, weil ein name sich
eigentlich leicht auflösen ließe in die felder "nachname" und "vorname".
wenn man so gut wie nie nach den vornamen sucht, liesse sich auch nur ein
feld "name" erstellen, jedoch dann mit der folge "name, vorname", was in der
eingabe durchgehalten werden muß. dann wäre problemlos eine suche nach
"schmidt, mar%" möglich und der index wird benutzt werden.


ansonsten die funktionsweise vom index
http://dev.mysql.com/doc/mysql/de/MySQL_indexes.html


> c) index prüfen mit EXPLAIN

Wie geht das ? Was bewirkt es ?

einfach ausprobieren, indem du es vor dem SELECT ... schreibst. 

ansonsten siehe http://dev.mysql.com/doc/mysql/de/EXPLAIN.html
handbuch lesen empfiehlt sich eh


> also am like liegt es definitiv nicht . ich habe die Abfrage jetzt so
> umgeschrieben das der like Block nur berücksichtigt wird wnen auch ein
> Suchwort eingegeben wurde. Die Abfrage ist aber genauso langsam. Wenn
> ich jetzt ein Suchwort eingebe ist sie supershcnell!

da würde ich nun doch gerne mal einiges sehen wollen, um das zu verstehen,
weil das eigentlich unlogisch ist. poste doch bitte daher mal den aufbau der
tabellen, die vorhandenen indexe und die beiden select abfragen plus jeweils
mit EXPLAIN

DESCRIBE tbl   für tabellen-struktur
SHOW INDEX FROM tbl   für vorhandene indexe
SELECT ... ohne suchwort
EXPLAIN SELECT ... ohne suchwort
SELECT ... mit suchwort
EXPLAIN SELECT ... mit suchwort



-- 
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen!
Jetzt aktivieren unter http://www.gmx.net/info

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive