Re: GROUP BY zu langsam
Von: Günter Baier (guenter.baier@googlemail.com) [Profil]
Datum: 12.06.2008 09:00
Message-ID: <g2qhhs$531$1@online.de>
Newsgroup: de.comp.datenbanken.mysql
Datum: 12.06.2008 09:00
Message-ID: <g2qhhs$531$1@online.de>
Newsgroup: de.comp.datenbanken.mysql
Christian Kirsch schrieb: > Günter Baier schrieb: > >> event.event_name LIKE '%berlin%' OR >> event.event_desc LIKE 'berlin%' OR >> inst_intern.inst_name LIKE '%berlin%' OR >> t1.inst_name LIKE '%berlin%' OR >> inst_loc.inst_loc_name LIKE '%berlin%' OR >> city.city_name LIKE '%berlin%' OR >> t2.city_name LIKE '%berlin%' OR >> province.province LIKE '%berlin%' OR >> country.country LIKE '%berlin%' OR >> event_clas_sub.event_clas_sub LIKE '%berlin%' OR >> event_clas.event_clas LIKE '%berlin%' OR >> job.job_name LIKE '%berlin%' OR >> partic.partic LIKE '%berlin%' OR >> person_intern.person_ln LIKE '%berlin%' OR p >> erson_intern.person_fn LIKE '%berlin%' OR >> t3.person_ln LIKE '%berlin%' OR >> t3.person_fn LIKE '%berlin%' > > Solche Abfragen sind m.E. völlig sinnlos. Es *gibt* keinen Job, der > "Berlin" heißt, ebenso wenig sinnvollerweise ein Land namens Berlin oder > einen Vornamen etc. pp. Vereinfache Deine Abfragen halt so, dass sie > sinnvoll sind. Zumal Du ja hinterher auch dem unglücklichen Anwender nur > ein paar ausgewählte Felder zeigst, in denen dann (wenn er Pech hat) das > Suchwort gar nicht vorkommt. Denn wenn ich in diese Query "Müller" > reinstecke, dann würde ich vermutlich sämtliche Events bekommen, bei > denen ein Peter Müller arbeitet - und das in der Ausgabe nicht erkennen > können. > > M.E. hast Du kein SQL-, sondern ein Usability-Problem. Ja, ich verstehe Deine Argumentation, aber das ist genau das, was hier gefunden werden soll. Es "SOLL" nach der Suche "Müller" eben auch alle Events gefunden werden, bei denen ein "Müller" arbeitet. Ich hatte anfangs auch versucht, die Abfrage aufzuteilen und seperat nach den Events und den Personen der Events zu suchen - allerdings ergibt das bei mehreren Suchbegriffen und einer " AND " Verknüpfung gleich mehrere verschiedene Varianten der möglichen Suche, so dass man bei z.B. 4 Suchbegriffen ca. 15 oder 16 Einzelabfragen fahren müsste, um auch hier alle Ergebnisse zu bekommen - auch nicht gerade effektiv. Andererseits sollte es doch hier einen Weg geben können, solche Abfragen - die mit sicher auch noch mehr Datenmengen zu tun haben - auch zu optimieren. Gerade diese LEFT JOIN auf die Verbindungstabellen event_job / event_partic sind doch ganz normal und dauern dann so lange? Danke Günter[ Auf dieses Posting antworten ]
