discuz mysql 优化_Discuz X系统:【效率机制】-【MySQL 优化】详解

在整个 Discuz! X2.5 产品中,为了提供效率,需要对 SQL 做相应的优化。有时候不能忽略一些细小的优化,当出现过多未优化的细节时,也能带来致命的负载问题。

延迟更新机制

例如:首页的在线人数等,在实际产品中,有些数据不一定需要实时更新的,因为对于这类型的数据来说,实时更新的价值不高,对于这种情况我们可以考虑在产品研发过程中引入廷迟更新机制,这样可以从一定程度上降低SQL的负载。

索引

索引的合理使用,能给你带来高效的SQL查询,但不是索引越多越好,索引的引入需在查看整个模块的设计,使之最大程度上使用索引。

读写分离

读写分离,在X2的版本中,我们引入了多SQL服务器的支持,在主从服务器中,你可以配置写服务器跟读服务器,这样对于负载高的站点中可以

使用这个功能达到读写分离,降低由于写过程序中造成的MySQL表锁定后的SQL排队等候时间过长。当你的服务器支持读写分离要求时,你可以在

config_global.php中配置。例如:

/**

* 数据库主服务器设置, 支持多组服务器设置, 当设置多组服务器时, 则会根据分布式策略使用某个服务器

* @example

* $_config[\'db\'][\'1\'][\'dbhost\'] = \'localhost\'; // 服务器地址

* $_config[\'db\'][\'1\'][\'dbuser\'] = \'root\'; // 用户

* $_config[\'db\'][\'1\'][\'dbpw\'] = \'root\';// 密码

* $_config[\'db\'][\'1\'][\'dbcharset\'] = \'gbk\';// 字符集

* $_config[\'db\'][\'1\'][\'pconnect\'] = \'0\';// 是否持续连接

* $_config[\'db\'][\'1\'][\'dbname\'] = \'x1\';// 数据库

* $_config[\'db\'][\'1\'][\'tablepre\'] = \'pre_\';// 表名前缀

*

* $_config[\'db\'][\'2\'][\'dbhost\'] = \'localhost\';

* ...

*

*/

$_config[\'db\'][1][\'dbhost\'] = \'localhost\';

$_config[\'db\'][1][\'dbuser\'] = \'root\';

$_config[\'db\'][1][\'dbpw\'] = \'root\';

$_config[\'db\'][1][\'dbcharset\'] = \'gbk\';

$_config[\'db\'][1][\'pconnect\'] = 0;

$_config[\'db\'][1][\'dbname\'] = \'ultrax\';

$_config[\'db\'][1][\'tablepre\'] = \'pre_\';

/**

* 数据库从服务器设置( slave, 只读 ), 支持多组服务器设置, 当设置多组服务器时, 系统每次随机使用

* @example

* $_config[\'db\'][\'slave\'][\'1\'][\'dbhost\'] = \'localhost\';

* $_config[\'db\'][\'slave\'][\'1\'][\'dbuser\'] = \'root\';

* $_config[\'db\'][\'slave\'...

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值