sql查询优化的方法
1.用存储过程取代视图查询。
原理:存储过程只需要在创建时编译一次,在执行存储过程时无需再编译;而视图查询时每次都需要编译再执行。
存储过程优点:
- 由于只需在创建时编译而执行时无需编译,所以执行速度快;
- 封装复杂语句,避免每次查询都需要书写一大段sql语句,亦可以减少应用中像数据库传输sql代码量流量;
- 实现代码重用,并有利于模块化维护,即只需要改动某个存储过程;
- 提高安全性,采用参数化避免遭受sql注入攻击;
2.数据表添加索引
为常用字段添加索引。
语句:CREATE INDEX 【索引名】 ON 【表名】(【字段名】)
应用场景:表数据量特别大,多表连接查询。
3.分表处理
对于数据量特别大的表但访问时又有些数据不需要的情况,如半年以上历史的数据,可以考虑分表,定时任务将数据迁移到历史表中。