Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

entendendo mysql explicar


Paulo:
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;

Estes são copiados literalmente do manual do MySQL:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html

Se você pudesse postar sua consulta que está demorando sempre , eu poderia ajudar a identificar o que está diminuindo a velocidade. Além disso, especifique qual é sua definição de para sempre é. Além disso, se você puder fornecer seu "SHOW CREATE TABLE xxx;" instruções para essas tabelas, eu poderia ajudar a otimizar sua consulta o máximo possível.

O que salta para mim imediatamente como um possível ponto de melhoria é o "Usando temporário; Usando filesort;". Isso significa que uma tabela temporária foi criada para satisfazer a consulta (não necessariamente uma coisa ruim) e que o GROUP BY/ORDER BY que você designou não pôde ser recuperado de um índice, resultando em um filesort .