四、优化数据库,将不同功能的表分别建立在不同的库中,尽量避免表的联合查询,重视索引

        对于大型网站最终数据库将会是瓶颈,因为对于网站程序来说可以架构负载平衡,让多个服务器来分担执行程序,但要让多个服务器同时操作一个数据库是比较困难的,也因此最终会选择把一个库分成多个库的方式来让多台服务器分担数据库的压力,所以我建议在最初就根据功能将表分开放在不同的数据库中。

 

        因为要分数据库,最初的架构(分的各种数据库)随着网站流量的增加可能会不能满足需要,因而可能需要再次将已有的数据库细分,所以我们要尽量避免使用表的联合查询,不然再次分数据库的过程就需要大量的改动程序;还有就是表的联合查询本身就是没有多少效率的行为。

 

        如果你发现数据库服务器的CPU占用到了70%以上,首先要检查数据库的索引建好了吗?索引对数据库来说是至关重要的,不要忽视它,我公司的一台数据库服务器在没加索引与加过索引的区别是,前者CPU占用达60%~80%以上,而后者只有5%左右。

 

        如何建立索引呢?一般是在程序中where后的字段都加上索引(除了用于like查询的字段),实际测试发现bit类型的数据加不加索引的区别不大。当然索引多了因为要维护索引会减慢数据库插入、更新数据的速度,但这种影响是很小的,相对网站中大量的查询操作,这种影响应该是可以忽略的。

 

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值