互联网时代,支持高并发是一个平台成败的关键,是一个企业成长的必经阶段。
支持更高的并发除了提高硬件的性能,就要从优化系统开始做起。
系统优化也可以多种手段,缓存,分布式集群,优化代码,数据库优化等。
其中消费比最高的当属缓存和数据库优化。
缓存来说有个弊端就是,对于经常需要更新的数据,不宜做缓存,只能一些相对静态的来做缓存。
数据库优化成了唯一比较通用的高性价比的选择。
数据库优化首先我们需要知道哪些表是负担比较重的,才能找准优化点,这里怎么找,我之前有写过一篇查看统计表的
可以做下参考,
找到这些表之后,第一步就是看索引,代码里面的sql或者存储过程一时半会儿怕影响业务不敢动,但是合理的索引的建立是里面
最具消费比的手段。
索引建立的原则:
1. 在经常用作过滤器的字段上建立索引;
2. 在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;
3. 在不同值较少的字段上不必要建立索引,如性别字段;
4. 对于经常存取的列避免建立索引;
5. 用于联接的列(主健/外健)上建立索引;
6. 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;
7. 缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构。
索引分四类:
index ----普通的索引,数据可以重复
fulltext----全文索引,用来对大表的文本域(char,varchar,text)进行索引。语法和普通索引一样。
unique ----唯一索引,唯一索引,要求所有记录都唯一
primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键
注意:尽量减少like,但不是绝对不可用,”xxxx%” 是可以用到索引的
posted @
2017-01-19 09:54
产卵的鱼
阅读(
273)
评论()
编辑
收藏
举报