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