stats
und members
Tabelle hat Index auf id
. Aber wenn ich Abfrage ausführen überprüft es alle Zeilen in stats
Tabelle (in members
Tabelle dauert es nur eine). Irgendwelche Ideen, was ich falsch mache? Vielen Dank.Wie optimiert man diese Abfrage mehr?
Antwort
Korrekte ANSI-92-Syntax join - Kriterien in der Klausel ON angegeben wird:
SELECT mem.name,
mem.regdate,
stat.level
FROM stats AS stat
JOIN members AS mem ON mem.id = stat.id
WHERE mem.ref = {$members['id']}
Ohne die Kriterien JOIN, MySQL wird ein kartesisches Produkt zurückgeben und dann gilt die WHERE-Klausel zu diesen Ergebnissen. So ziemlich jede andere Datenbank würde Ihnen sagen, dass Sie einen Syntaxfehler für die von Ihnen gestellte Anfrage haben.
Auch das Schlüsselwort INNER
ist optional.
Versuchen Sie, aus der Haupttabelle (in diesem Fall Mitglieder, ich glaube) und JOIN mit Statistiken für zusätzliche Informationen. Verwenden Sie ON, um zu definieren, wie Statistiken mit Mitgliedern verbunden sind, und verwenden Sie WHERE, um die Ergebnisse aus der Mitgliedstabelle zu begrenzen.
SELECT mem.name, mem.regdate, stat.level
FROM members AS mem
INNER JOIN stats AS stat
ON stat.id = mem.id
WHERE mem.ref = {$members['id']}
Da es eine INNER JOIN Sie es drehen können auch um (von Statistiken Auswahl Beitritt auf Mitglieder), aber das macht wahrscheinlich mehr Sinn gegeben Sie zu einem bestimmten Mitglied suchen.
- 1. MySQL - Wie kann diese Abfrage optimiert werden?
- 2. Wie kann diese Abfrage optimiert werden?
- 3. Wie optimiert man diese komplizierte EAV MYSQL Abfrage?
- 4. Wie optimiert man eine mongodb Geospatial Abfrage?
- 5. Wie optimiert man eine verschachtelte Abfrage?
- 6. Wie kann diese langsame (sehr langsame) MySQL-Abfrage optimiert werden?
- 7. Wie beschleunigt man diese Abfrage?
- 8. Wie optimiert man MySQL Ansichten
- 9. Wie kann diese SQL-Funktion optimiert werden?
- 10. Wie optimiert man eine langsame Abfrage mit mehreren UND-Anweisungen?
- 11. , wie man mehr Spalten in mysql Abfrage
- 12. Wie optimiert man die Dateiverarbeitung?
- 13. Wie implementiert man diese Abfrage in Hibernate?
- 14. MySQL - Wie vereinfacht man diese Abfrage?
- 15. Wie generiert man diese Abfrage in sqlalchemy?
- 16. Wie verwendet man diese Abfrage richtig?
- 17. Wie übersetzt man diese Abfrage mit Doctrine?
- 18. Wie generiert man diese SQL-Abfrage?
- 19. MySQL - wie man große Bedingungen optimiert
- 20. Wie optimiert man MySQL Abfrage, wenn ich zu viele OR-Operatoren in meiner Abfrage habe?
- 21. Wie kann diese mySQL-Abfrage in Bezug auf die Leistung optimiert werden?
- 22. DRF Wie kann diese Abfrage optimiert werden, anstatt if's zu loopen?
- 23. Wie kann diese Schleife in eine linq-Abfrage optimiert werden, um den Schleifenaufruf vollständig zu entfernen?
- 24. Wie konnte diese Abfrage in Bezug auf die Ausführungsgeschwindigkeit optimiert werden
- 25. MySQL optimiert eine Union-Abfrage mit einer Join-Abfrage statt
- 26. Ist diese PHP-Klasse für den MySQL-Datenbankzugriff optimiert?
- 27. Wie optimiert man die php Prozessspeicherauslastung?
- 28. Wie erstellt man diese sehr komplexe MySQL-Abfrage
- 29. LinQ max Datum in einer Abfrage optimiert
- 30. Wie man mehr als zwei Tabellen mit Lightswitch LINQ-Abfrage
Das passiert, wenn Sie nicht ein paar Wochen programmieren ... Danke –
Es überprüft immer noch alle 'stats' Reihen, was es sein könnte? –
@hey: Die ID-Spalte ist der Primärschlüssel für die jeweilige Tabelle, oder? Die CREATE TABLE-Anweisungen und die EXPLAIN PLAN-Ausgabe würden helfen. –