關於如何優化MySQL查詢中的連接的任何輸入?例如,考慮以下查詢如何優化多個連接的MySQL查詢?
SELECT E.name, A.id1, B.id2, C.id3, D.id4, E.string_comment
FROM E
JOIN A ON E.name = A.name AND E.string_comment = A.string_comment
JOIN B ON E.name = B.name AND E.string_comment = B.string_comment
JOIN C ON E.name = C.name AND E.string_comment = C.string_comment
JOIN D ON E.name = D.name AND E.string_comment = D.string_comment
表A,B,C,d是臨時表,並含有1096行和表E(也臨時表)包含426行。在不創建任何索引的情況下,MySQL EXPLAIN向我顯示了從所有表中搜索的所有行。現在,我在所有表A,B,C,B和E上爲名稱創建了名爲name_idx和string_comment的FULLTEXT索引作爲string_idx。EXPLAIN命令仍然給出瞭如下所示的相同結果。 另外,請注意, 名稱和string_comment VARCHAR類型和IDX的都是int類型(15)
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE A ALL name_idx,string_idx 1096
1 SIMPLE B ALL name_idx,string_idx 1096 Using where
1 SIMPLE C ALL name_idx,string_idx 1096 Using where
1 SIMPLE D ALL name_idx,string_idx 1096 Using where
1 SIMPLE E ALL name_idx,string_idx 426 Using where
我如何能調整任何評論此查詢?
謝謝。
您還應該調用ANALYZE TABLE這將進一步幫助調整查詢。 –