在WordPress服务的每个页面的开头,都有一个MySQL调用来获取选项:
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
因为autoload
列上没有索引,所以MySQL必须查找所有行。
我还遇到了对此答案的评论,说即使有索引也不会提高性能。
在我的应用程序中,我使用了很多瞬态值来替代会话。他们的工作很棒,我有自己的垃圾回收程序。我注意到在wp_options
表格中,我的瞬态值(以开头的值_transient_
)都具有autoload=no
。我期望wp_options
表的行数会随着并发用户数的增加而增加。
我想知道为什么表格是这样设计的。我应该为我的特殊情况创建索引吗?
autoload
列上设置索引。