gpt4 book ai didi

mysql - 使用索引对 Amazon Aurora 执行缓慢查询(Wordpress 数据库)

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

我的 Aurora 数据库实例存在一些性能问题。有一个特别奇怪。我安装了带有标准 wp_options 表的 WordPress。在此表中,我在自动加载列上添加了索引。架构如下:

CREATE TABLE IF NOT EXISTS `wp_options` (
`option_id` bigint(20) unsigned NOT NULL,
`option_name` varchar(64) NOT NULL DEFAULT '',
`option_value` longtext NOT NULL,
`autoload` varchar(20) NOT NULL DEFAULT 'yes'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1045503 ;
ALTER TABLE `wp_options` ADD PRIMARY KEY (`option_id`), ADD UNIQUE KEY `option_name` (`option_name`), ADD KEY `index_autoload` (`autoload`);

奇怪的是我在慢日志中看到很多这样的查询: SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'

它甚至可能需要一分钟才能运行。我每天都有很多这样的事情。我唯一的提示是(相对)大量的行,即 6602 行。 5913 行具有自动加载 = 'yes'

表大小为 26.2 MB

最佳答案

我很高兴您从数据库管理系统中清除了垃圾。

您创建的索引没有帮助,因为它的基数非常低。在典型的 WordPress 安装中,该列只有两个可能的值。因此,查询规划器可能仍会进行全表扫描并忽略索引。

对于该特定查询来说,稍微好一点的索引可能是(autoload, option_name, option_value)。那是covering index 。查询完全可以通过索引来满足,这节省了服务器的一些时间。但可能不是你的情况。

WordPress 查询性能受到的部分影响来自于将数据从 DBMS 计算机传输到 WordPress 主机时不可避免的时间成本。无论是 DBMS 还是 WordPress 方面,再多的大铁也无济于事。

关于mysql - 使用索引对 Amazon Aurora 执行缓慢查询(Wordpress 数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873274/

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