Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql verstehen erklären

Paul:

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column=other_table.column;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column_part1=other_table.column
AND ref_table.key_column_part2=1;
SELECT * FROM ref_table WHERE key_column=expr;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column=other_table.column;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column_part1=other_table.column
AND ref_table.key_column_part2=1;

Diese sind wörtlich aus dem MySQL-Handbuch kopiert:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html

Wenn Sie Ihre Anfrage posten könnten, die ewig dauert , könnte ich helfen, genau zu bestimmen, was es verlangsamt. Bitte geben Sie auch an, was Ihre Definition von für immer ist ist. Wenn Sie auch Ihr "SHOW CREATE TABLE xxx;" Anweisungen für diese Tabellen, kann ich Ihnen dabei helfen, Ihre Abfrage so weit wie möglich zu optimieren.

Was mir sofort als möglicher Verbesserungspunkt auffällt, ist das "Using Temporary; Using Filesort;". Dies bedeutet, dass eine temporäre Tabelle erstellt wurde, um die Abfrage zu erfüllen (nicht unbedingt eine schlechte Sache), und dass das von Ihnen festgelegte GROUP BY/ORDER BY nicht aus einem Index abgerufen werden konnte, was zu einer Dateisortierung führte .