MySQL正在做全表筛选

发布于 2024-10-19 11:30:39 字数 407 浏览 3 评论 0原文

我试图找出为什么以下 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 列是主键。

EXPLAINPRIMARY 列为类别表的可能键,但它并未使用它。

谢谢。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

油饼 2024-10-26 11:30:39

这很简单。您的查询将从表中选择所有数据。如果添加 WHERE 语句,一切都会好起来的。

It's simple. Your query selects all data from your tables. If you add the WHERE statement everything be fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文