這個已經填充的數據庫來自另一個開發者。如果涉及的表中有一個沒有定義索引,mysql查詢會運行得更慢嗎?
我不確定當他創建表時發生了什麼,但是在我們的腳本中有一個涉及4個表的查詢,它運行速度超慢。
SELECT
a.col_1, a.col_2, a.col_3, a.col_4, a.col_5, a.col_6, a.col_7
FROM
a, b, c, d
WHERE
a.id = b.id
AND b.c_id = c.id
AND c.id = d.c_id
AND a.col_8 = '$col_8'
AND d.g_id = '$g_id'
AND c.private = '1'
注:$ col_8和$ G_ID是從一種形式
這只是我的理論的變量,它是由於表b和c沒有索引,雖然我猜的開發沒」 t認爲這是必要的,因爲這些表只告訴a和d之間的關係,其中b表示a中的數據屬於某個用戶,c表示該用戶屬於d中的一個組。你可以看到,甚至沒有使用連接或其他廣泛的查詢函數,但只返回大約100行的查詢需要2分鐘執行。
無論如何,我的問題只是這篇文章的標題。如果涉及的表中沒有定義索引,mysql查詢運行速度會慢一些嗎?
+1的話說,他是一個完整的白癡:) – lock 2010-03-23 02:42:53