为什么这些MySQL查询这么慢?

eri*_*icn 2 mysql wordpress mysql-slow-query-log

我不明白为什么以下查询显示在慢查询日志中,查询时间为12到20秒.

UPDATE `wp_postmeta` SET `meta_value` = '35' WHERE `post_id` = 1267 AND `meta_key` = 'views'
UPDATE `wp_postmeta` SET `meta_value` = '32' WHERE `post_id` = 874 AND `meta_key` = 'views'
UPDATE `wp_postmeta` SET `meta_value` = '122' WHERE `post_id` = 18557 AND `meta_key` = 'views'
UPDATE `wp_postmeta` SET `meta_value` = '3078' WHERE `post_id` = 21741 AND `meta_key` = 'views'
UPDATE `wp_postmeta` SET `meta_value` = '2657' WHERE `post_id` = 878 AND `meta_key` = 'views'
Run Code Online (Sandbox Code Playgroud)

它们看起来很正常,在phpMyAdmin中执行其中一个测试只需要0.0056秒.这里
wp_postmeta桌子大小是77,996.

我想知道为什么上面的查询是如此缓慢,如果有什么我可以做些来改进它们?

Ed *_*eal 8

使用比@Sandeep建议的更好的索引是:

CREATE INDEX <some index name>
ON wp_postmeta (meta_key, post_id);
Run Code Online (Sandbox Code Playgroud)

此索引将捕获所有WHERE子句并使数据库引擎快速转到右侧.