mysql查询优化

优化的方向

查询为什么会慢?除去网络延迟,CPU计算等因素,时间主要消耗在查询执行阶段,比如说I/O阻塞,锁等待导致执行事件较长。而事实上,查询速度慢,一般都是查询命令包含了一些不必要的操作,不必要的数据,或者数据量太大、查询范围太广。主要减少和消除以上问题。

1.减少select *的操作,在查询时常用limit限制返回的数据量。

2.经常重复查询的数据,存入缓存或者建立哈希索引/或者mysql建立自适应哈希。

3.复杂查询语句,使用多条简单查询(并不是所有的多条查询都比复杂查询效果好)。

mysql的断开和连接都死轻量级的,因此单条查询速度很快,在一些情况下使用多条查询替代复杂查询效果会更好。事实上mysql服务器查询速度非常快,而返回给客户端数据时速度很慢,因此单条查询小数据能加快查询速度。

4.关联查询拆解成多条查询

因为每次单条查询的数据放在缓存中,被之后的查询直接使用,提高查询速度。
因为单条查询减少数据上锁的范围,减少锁竞争,提高查询速度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章