Mysql
 sql >> Database >  >> RDS >> Mysql

comprensione di MySQL spiegare

Paolo:

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;

Questi sono copiati testualmente dal manuale MySQL:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html

Se potessi pubblicare la tua domanda che sta durando per sempre , potrei aiutare a individuare cosa lo sta rallentando. Inoltre, specifica la tua definizione di per sempre è. Inoltre, se potessi fornire il tuo "SHOW CREATE TABLE xxx;" dichiarazioni per queste tabelle, potrei aiutare a ottimizzare il più possibile la tua query.

Quello che mi salta subito all'occhio come possibile punto di miglioramento è "Using temporary; Using filesort;". Ciò significa che è stata creata una tabella temporanea per soddisfare la query (non necessariamente una cosa negativa) e che il GROUP BY/ORDER BY designato non può essere recuperato da un indice, risultando così in un filesort .