位置: 编程技术 - 正文
推荐整理分享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 中添加/修改以下选项:
以上参数根据各自服务器的配置差异进行调整,仅作为参考.
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]#
标签: discuz mysql8.0
本文链接地址:https://www.jiuchutong.com/biancheng/312358.html 转载请保留说明!友情链接: 武汉网站建设