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



在优化的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_id(。即使MySQL运行得很好,检索它也需要时间。只检索所需的行总是明智的。

话虽如此,您可以尝试在wp_postmeta表上添加索引。它可能会优化查询的MySQL方面。

ALTER TABLE wp_postmeta ADD KEY meta_key_value (meta_key(90), meta_value(90), post_id);

请使用phpmyadmin运行

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

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

最新更新