sql >> Base de Datos >  >> RDS >> Mysql

entender mysql explicar

Pablo:

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;

Estos se copian textualmente del manual de MySQL:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html

Si pudiera publicar su consulta que está tardando siempre , podría ayudar a identificar qué lo está ralentizando. Además, especifique cuál es su definición de para siempre es. Además, si pudiera proporcionar su "MOSTRAR CREAR TABLA xxx;" declaraciones para estas tablas, podría ayudar a optimizar su consulta tanto como sea posible.

Lo que salta a la vista de inmediato como un posible punto de mejora es el "Uso temporal; Uso de ordenación de archivos;". Esto significa que se creó una tabla temporal para satisfacer la consulta (no necesariamente algo malo) y que el GROUP BY/ORDER BY que designó no se pudo recuperar de un índice, lo que resultó en un filesort .