gpt4 book ai didi

mysql - 简单的 MySQL 查询花费的时间太长

转载 作者:行者123 更新时间:2023-11-29 07:09:11 25 4
gpt4 key购买 nike

环境:Rails 2.3.11,MySQL 5.1 (InnoDB)

我的 Rails 应用程序偶尔会遇到一些问题,简单的查询需要很长时间才能完成,并阻碍了整个应用程序的更新能力。这些查询通常与论坛、网站流量最高的部分以及(到目前为止)更新最多的部分有关。以下是从 MySQL 慢速日志中提取的示例查询示例:

# Query_time: 46.900202  Lock_time: 0.000030 Rows_sent: 0  Rows_examined: 0
SET timestamp=1302172666;
UPDATE `forum_topics`
SET `views` = 153, `updated_at` = '2011-04-07 10:36:59'
WHERE `id` = 1213305;

这是一个非常的简单查询并且应该非常快,尽管在本例中它花了将近 47 秒才完成。此服务器上的平均负载从不超过 2,因此这不是问题所在。其他一些兴趣点是:

  • viewsupdated_at 都不是索引。
  • 虽然自动增量值可能1.2M,其实只有此表中有 70K 条记录。
  • 慢查询日志中超过 90% 的查询都与此类似。

我在这里寻找的是关于解决此问题的后续步骤的一些建议。

谢谢。

附言架构/索引如下:

CREATE TABLE `forum_topics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`forum_category_id` int(11) DEFAULT NULL,
`title` varchar(255) NOT NULL,
`sticky` tinyint(1) DEFAULT '0',
`views` int(11) DEFAULT '0',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`last_post_created_at` datetime DEFAULT NULL,
`slug` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_forum_topics_on_created_at` (`created_at`),
KEY `index_forum_topics_on_forum_category_id` (`forum_category_id`),
KEY `index_forum_topics_on_sticky` (`sticky`)
) ENGINE=InnoDB AUTO_INCREMENT=1215414 DEFAULT CHARSET=utf8;

最佳答案

1) 可能是硬件错误 - 磁盘重置。2) id 键是否被索引?3)通讯问题。4)时间戳是局部变量吗?它前面不应该有一个“@”吗?

关于mysql - 简单的 MySQL 查询花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5586454/

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