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

来源:互联网 发布:hadoop源码包下载地址 编辑:程序博客网 时间:2024/04/29 04:19

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

 

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

 

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

 

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

 

        

原创粉丝点击