MySQL正在做全表筛选
我试图找出为什么以下 SQL 的类别 c 表的类型为 ALL。
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
列为类别表的可能键,但它并未使用它。
谢谢。
I am trying to figure out why the following SQL has a type of ALL for the categories c table.
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
The todos
table has an index on category_id
and todo_id
is a primary key.
The category_id
column in the categories table is a primary key.
The EXPLAIN
lists PRIMARY
as a possible key for the categories table but it isn't using it.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这很简单。您的查询将从表中选择所有数据。如果添加 WHERE 语句,一切都会好起来的。
It's simple. Your query selects all data from your tables. If you add the WHERE statement everything be fine.