2011-02-28 47 views
0

我想弄清楚爲什麼下面的SQL有一個類型的所有類型c表。MySQL正在做一個全表屏幕

EXPLAIN SELECT 
t.todo_id, 
t.name todo_name, 
c.name category_name 
FROM 
todos t, 
categories c 
WHERE t.category_id = c.category_id 

todos表具有上category_id索引和todo_id是主鍵。 類別表中的category_id列是主鍵。

EXPLAIN列出PRIMARY作爲類別表的一個可能的關鍵,但它沒有使用它。

謝謝。

+0

我試過了Jean Louis的SQL,類型仍然是ALL,其中possible_keys列爲PRIMARY。 – thestepafter 2011-02-28 16:28:03

回答

1

很簡單。您的查詢選擇您表格中的所有數據。如果你添加WHERE語句,一切都會好的。

+0

好的,我打算去玩一些,因爲我有一堆where /和子句,但是我沒有在範例中包含它們,因爲它更長。 – thestepafter 2011-03-01 20:51:05

+0

我已經創建了包含您的表格的測試數據庫並對其進行了測試。一切正常。不關心它。如果包含WHERE語句,則類型爲「const」。問題可能是你沒有在這裏發佈的WHERE語句。 – 2011-03-01 21:02:49