Mysql 有没有办法提高这个简单的WordPress数据库查询的性能?

Mysql 有没有办法提高这个简单的WordPress数据库查询的性能?,mysql,wordpress,performance,query-optimization,Mysql,Wordpress,Performance,Query Optimization,在优化的WordPress数据库上运行一个简单的SELECT,需要20秒,因为它会返回62000条记录。有人对如何改进这些时间安排有什么建议吗 我的代码: global $wpdb; $entries_sql = $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '%s' AND meta_value='%s'", 'sht_ranking_id', $ranking_id);

在优化的WordPress数据库上运行一个简单的
SELECT
,需要20秒,因为它会返回62000条记录。有人对如何改进这些时间安排有什么建议吗

我的代码:

global $wpdb;
$entries_sql = $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '%s' AND meta_value='%s'", 'sht_ranking_id', $ranking_id);
$entry_ids = $wpdb->get_results($entries_sql, ARRAY_N);

(我也尝试过使用PHPMyAdmin运行原始SQL,但速度并不快。)

包含62K行的结果集很大,即使只有一列(
post\u id
)。即使MySQL工作得很好,检索它也需要时间。只检索所需的行总是明智的

也就是说,您可以尝试在
wp\u postemta
表中添加索引。它可以优化查询的MySQL方面

ALTER TABLE wp_postmeta添加KEY meta_KEY_值(meta_KEY(90)、meta_值(90)、post_id);
请使用phpmyadmin运行

EXPLAIN SELECT post_id FROM whatever your query says....

在添加该键之前和之后。如果您通过编辑您的问题来发布这些解释的结果,这将非常有帮助。

我已经在meta_值中添加了一个索引,我正在遵循WordPress VIP的示例。()最重流程的48秒现在降至2.2秒。@MarkHowells-Mead-请提供
SHOW CREATE TABLE wp_postETA
在遵循VIP建议后的状态。