位置: 编程技术 - 正文

MySQL针对Discuz论坛程序的基本优化教程(discuz mysql8.0)

编辑:rootadmin

推荐整理分享MySQL针对Discuz论坛程序的基本优化教程(discuz mysql8.0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql_query mysql_real_query,mysql archive,mysqll,mysql_query mysql_real_query,discuz! info: mysql query error,mysql讨论,mysql数据库论坛,discuz! info: mysql query error,内容如对您有帮助,希望把文章链接给更多的朋友!

过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果把数据表引擎改成InnoDB的话,我相信会好很多。这次就写个扫盲贴吧。

1. 启用innodb引擎,并配置相关参数

修改表引擎为innodb:

其他表类似上面,把表名换一下即可...将表存储引擎改成innodb后,不仅可以避免大量的锁等待,还可以提升查询的效率,因为innodb会把data和index都放在buffer pool中,效率更高。

2.缓存优化在 my.cnf 中添加/修改以下选项:

以上参数根据各自服务器的配置差异进行调整,仅作为参考.

MySQL针对Discuz论坛程序的基本优化教程(discuz mysql8.0)

3.索引优化上面提到了,已经开启了慢查询,那么接下来就要对慢查询进行逐个优化了.

搜索的查询SQL大致如下:

用 EXPLAIN 分析的结果如下:

只用到了 t.fid 和 p.tid,而 p.author 则没有索引可用,总共需要扫描* = 次索引,够夸张吧 :(再分析 cdb_threads 和 cdb_posts 的索引情况:

以及

看到索引 fid 和 enablehot 基数太小,看来该索引完全没必要,不过,对于fid基数较大的情况,则可能需要保留>该索引.所做修改如下:

在这里, p.author 字段我设定的部分索引长度是 , 是我经过分析后得出来的结果,不同的系统,这里的长度也不同,最好自己先取一下平均值,然后再适当调整.现在,再来执行一次上面的慢查询,发现时间已经从 6s 变成 0.s,提高了 倍.

MySQL的InnoDB引擎入门学习教程 MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在执迷不悟

MySQL下常见的启动失败与备份失败问题的解决教程 启动失败重启服务器后--重启应用服务(Confluence)--报错,数据库连接失败(mysql设置了开机自启动)--查看mysql数据库状态:[root@fisheye~]#ps-ef|grepmysqlroot

MySQL日志分析软件mysqlsla的安装和使用教程 一、下载mysqlsla[root@localhosttmp]#

本文链接地址:https://www.jiuchutong.com/biancheng/312358.html 转载请保留说明!

上一篇:MySQL入门完全指南及Linux系统下基本的安装教程(mysql入门很简单)

下一篇:MySQL的InnoDB引擎入门学习教程(mysql的innodb引擎支持外键)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络