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;
Tyto jsou doslovně zkopírovány z manuálu MySQL:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html
Pokud byste mohli zveřejnit svůj dotaz, který trvá věčně , mohl bych pomoci určit, co to zpomaluje. Také prosím uveďte, jaká je vaše definice navždy je. Také, pokud byste mohli poskytnout svůj "SHOW CREATE TABLE xxx;" příkazy pro tyto tabulky, mohl bych vám pomoci co nejvíce optimalizovat váš dotaz.
Co mi okamžitě vyskočí jako možný bod zlepšení, je „Using dočasné; Používání řazení souborů;“. To znamená, že pro splnění dotazu byla vytvořena dočasná tabulka (ne nutně špatná věc) a že vámi označenou GROUP BY/ORDER BY nebylo možné načíst z indexu, což má za následek třídění souborů .