如何优化get_option()的sql查询次数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何优化get_option()的sql查询次数?相关的知识,希望对你有一定的参考价值。

$name = get_option('name');
$phone = get_option('phone');
$street = get_option('street');
$postal_code = get_option('postal_code');
$email = get_option('email');

它将运行5个额外的查询。可以最小化到1吗?

答案

你可以使用wp_load_alloptions()

另一答案

这将提高性能

global $wpdb;
$sql = "SELECT `option_name`,`option_value` FROM `wp_options` WHERE `option_name` in('name', 'phone', 'street', 'postal_code', 'email')";
$result = $wpdb->get_results( $sql, OBJECT_K );

//access option values, ex: name
var_dump($result['name']->option_value);
另一答案

这些可能不是单独的查询,在大多数情况下,选项在页面加载时加载到全局,get_option函数在运行查询之前加载全局。

如果您有自定义选项,则可以通过在更新选项时将自动加载设置为“是”来将这些选项添加到全局。

Codex: update_option

以上是关于如何优化get_option()的sql查询次数?的主要内容,如果未能解决你的问题,请参考以下文章

sql优化

SQL语句数据库优化

MYSQL一次千万级连表查询优化

数据库优化方案

数据库优化方案

数据库的简单优化