gpt4 book ai didi

sql - 运行慢查询的简单 MySQL 表

转载 作者:可可西里 更新时间:2023-11-01 07:47:58 25 4
gpt4 key购买 nike

我有一个非常简单的表,有两列,但有 450 万行。

CREATE TABLE `content_link` (
`category_id` mediumint(8) unsigned NOT NULL,
`content_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`content_id`,`category_id`),
KEY `content_id` (`content_id`,`category_id`)
) ENGINE=MyISAM;

当我运行一个简单的查询时:

SELECT
*
FROM
content_link
WHERE
category_id = '11';

mysql 会占用 CPU 并在返回大约 10 行之前花费 2-5 秒。数据在表中分布得非常均匀,我正在访问索引字段(我还分析/优化了表并且我从不更改表的内容),那么查询花费这么长时间的原因是什么?

编辑:navicat 似乎在骗我,我的主键实际上没有按正确的顺序键入,因为它正在向我显示表格。

最佳答案

category_id 不是任何索引中的第一列。

按如下方式重新创建您的辅助 key :

UNIQUE KEY `ix_category_id` (`category_id`, `content_id`)

注意列顺序,这很重要。

关于sql - 运行慢查询的简单 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/926015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com