的我有這個疑問:如何優化MySQL查詢包含表和左連接SQL視圖
SELECT a.id, b.discount FROM (a LEFT JOIN b ON b.id_a = a.id);
此查詢說明命令是這樣的:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE a index NULL PRIMARY 4 NULL 1489 Using index
1 SIMPLE b ALL NULL NULL NULL NULL 819
A是表1489行而B是一個SQL視圖。現在我明白了,MySQL必須執行1489 * 819操作,這種操作方式也不太適合。如果B是表,我會爲列id_a創建一個索引,但我不知道如何處理SQL視圖。
有人可以幫忙嗎?
視圖的真的只是一個存儲查詢。相同的優化技術適用於視圖,就像您直接在主查詢中使用視圖的基礎查詢一樣 – 2011-02-15 14:17:01