当WordPress文章数量10万以上时,会遇到文章编辑器卡死的情况
这个问题来自对post_meta表的一个慢查询:
SELECT DISTINCT meta_key FROM wp_postmeta WHERE meta_key NOT BETWEEN '_' AND '_z' HAVING meta_key NOT LIKE '_%' ORDER BY meta_key LIMIT 30
该查询由WordPress文章编辑器的Meta Box功能发起。
该问题的原因是MySql中普通索引的长度最长为767字节,如果使用的是utf8mb4编码的话,那么总的字符长度就是767/4,约为191,而WordPress的post_meta表的meta_key列的字符长度则是255。
所以此时因为meta_key的长度超范围,索引并未生效。解决方案可以选择把数据库编码更改为utf8或是将meta_key的长度更改为191,再或者是禁用掉Meta Box功能。
当然,提醒一句,这些更改都可能会破坏兼容性,所以更改前请务必做好测试工作。
最后,导致性能问题的原因千奇百怪,具体情况要具体分析再针对性解决。so,本文所述方案不一定对你有用,但可提供一个思考的方向。
本文链接:http://78moban.cn/post/14116.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!