打开MySQL查询缓存以提高性能是否有用

时间:2019-10-02 作者:Yoga

现在MySQL默认查询缓存被禁用了,我记得很久以前,运行WordPress时MySQL的命中率很高。

所以我在想,如果现在启用它将提高性能,有人尝试过吗?

2 个回复
SO网友:middlelady

一般来说,对于只读应用程序(在MySQL 5.7之前,它从8.0版开始就被弃用),它支持SELECT如果缓存中已经存储了相同的调用,则可以非常快地返回数据。您应该考虑:

只有完全相同的子句才能从缓存引擎中受益(没有空格,没有注释,在WHERE 表达式)Excellent alternatives are:

外部缓存引擎(即。MemecachedRedis, 我的最爱,https://redislabs.com/wp-content/uploads/2016/03/15-Reasons-Caching-is-best-with-Redis-RedisLabs-1.pdf)

  • ProxySQL(自MySQL 8.0以来),我在这方面没有经验。阅读更多信息https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/
  • 我认为如果你将这些与一个好的web服务器结合起来,比如NGINXApache2 还有HTTP加速器,比如Varnish 你可以飞。

    据我所知,这些也是目前最好的做法,但我可能忽略了一些东西,请分享以防万一。

    SO网友:cjbj

    MySQL的查询缓存从来都不是很好,从8.0版起就已经退役了,因此,如果你想用WordPress优化数据库性能,那就不是好办法。然而,WP确实有膨胀数据库的趋势。有几种方法可以防止这种情况发生。

    将您的帖子修改限制为2次,包括define( ‘WP_POST_REVISIONS’, 2 ); 在里面wp-config.php. 或同时停止修订define( ‘WP_POST_REVISIONS’, false ); 在phpMyAdmin中,可以使用删除现有修订DELETE FROM wp_posts WHERE post_type = "revision";.plenty of plugins 这将帮助你清理这些东西Query Monitor 识别慢速查询的插件。主题中糟糕的脚本可能是导致数据库运行缓慢的罪魁祸首,而缓存也无济于事

    相关推荐

    使用SQL将帖子批量分配到类别(MySQL)

    我正在将wordpress站点从QTranslate-X迁移到WPML(2个多语言插件)。在迁移过程中,我所有属于给定类别(英语中为Health,法语中为sain)的帖子都正确地用英语分配,但法语中的链接丢失了。我编写了一个SQL脚本,从属于健康类别的英语帖子中确定法语帖子ID的列表。这给了我一个ID列表(101102…)。然后,我继续运行以下INSERT语句(第一个数字是对象ID,也称为post ID,第二个数字是类别ID,最后一个数字是给定对象的顺序)。这一点描述得很好here:INSERT INTO