mysql wordpress_MySQL 8 和 WordPress

因為有個 WordPress 是放在 Mac mini 上,MySQL 是用 brew 安裝的,前一段時間在做過 brew upgrade 後沒注意到 MySQL 被升級到 8 了,所以整個 WordPress 效率變很差。

為了找出問題,要先知道哪些 query 最花時間,在 /usr/local/etc/my.cnf 加入下列幾行來產生需要的 log:

slow_query_log = 1

slow_query_log_file=/tmp/log-slow-queries.log

long_query_time = 2

觀察 log 內容,發現有個重要的 SELECT query 非常花時間:

2047af79022a528d635b296d0af91477.png

特別是當 plugin 裝很多,又改過相當多設定後,wp_options 這個 table 就會變得很大,再加上 autoload 欄位又沒有建 index key,所以每次 query 都會花很長的時間。

將 autoload 加入 index 後,就將 query 時間縮短到 0.02s 了。

另外還有一個狀況是只有在新文章時才會用到的某個 plugin,query 內容是 :

SELECT ID FROM wp_posts WHERE guid = 'xxx';

想將 guid 加入 index key 卻因為欄位內容長度超過限制而失敗,後來找了文件才發現改用 FULLTEXT KEY 或是只限制只使用前 80 個字做 key 就可以了。

最后编辑:2019-05-11作者:第五维

635dfa2b758851070027445452fd0107.png

这个作者貌似有点懒,什么都没有留下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值