Mailinglisten-Archive |
Hallo; > SELECT * FROM > Beiträge B INNER JOIN Freunde F ON (F.UserIdTarget = B.UserId AND > F.UserIdSource = 77) > ORDER BY B.Datum DESC Und wenn du die Abfrage so machts: SELECT * FROM Freunde F LEFT JOIN Beiträge B ON (F.UserIdTarget = B.UserId) WHERE F.UserIdSource = 77 ORDER BY B.Datum DESC Dann solltest Du aber Index auf folgende Felder haben: F.UserIdTarget, B.UserId (Weil im JOIN Vergelich) F.UserIdSource = Weil im WHERE Bereich B.Datum = Weger der Sortierung Ausserdem Rate ich immer die Felder im SELECT anzugeben die du auch Abfragen möchtest. Mit freundlichen Grüssen Thomas Goik Ihre Auktionsseiten im Internet http://www.auxion.de http://www.Xhammer.de -- Lofox GmbH Geschäftsführerin: Evelyn Fuchs Im Kamperholz 48 44805 Bochum - Germany Amtsgericht Bochum HRB 7042 USt-IdNr.: DE215698227 St.-Nr. Bochum 306/5885/0172 > -----Original Message----- > From: mysql-de-bounces at lists.4t2.com [mailto:mysql-de- > bounces at lists.4t2.com] On Behalf Of ilja > Sent: Friday, April 13, 2007 6:04 PM > To: mysql-de at lists.4t2.com > Subject: Query Optimierung "Neueste Beitraege meiner Freunde" > > Hallo Liste, > > Folgendes Szenario: > > Tabelle "Freunde" bestehend aus "UserIdSource" und "UserIdTarget" > Tabelle "Beiträge" bestehend aus "Id", "Text", "Datum" und "UserId" > > nun möchte ich alle Beitraege meiner Freunde haben, sortiert nach Datum > absteigend... > meine Id ist beispielsweise 77 > > SELECT * FROM > Beiträge B INNER JOIN Freunde F ON (F.UserIdTarget = B.UserId AND > F.UserIdSource = 77) > ORDER BY B.Datum DESC > > Ich habe einen Index ueber zwei Spalten auf der Tabelle Beiträge: > (UserId,Id) > Und auf der Freunde Tabelle einen Index: (UserIdSource,UserIdTarget) und > andersrum. > > Die Freunde Tabelle ist sehr klein, die Beitraege Tabelle ist riesig. > Es ist also richtig wenn Mysql erst die Freunde herausfindet und an > dieses Ergebnis die Beitraege joined... > > Leider wird der Index der Beitraege Tabelle nicht zum sortieren benutzt... > > Kann ich irgendwie den USING TEMPORARY, USING FILESORT wegbekommen? > > > grueße, Ilja > ____________ > Virus checked by G DATA AntiVirusKit > Version: AVK 17.3957 from 13.04.2007 > Virus news: www.antiviruslab.com > > > _______________________________________________ > Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ > Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de
php::bar PHP Wiki - Listenarchive