数据库相关优化

一.sql语句优化

1.在查询时尽量使用索引查询,避免全表扫描。以下列出会使用全表扫描的几种情况。

1.考虑在where和order by涉及的列上加索引

2.避免对列进行null值判断,1.在条件中使用not null。2.列中无值设置默认值为-1,0等

3.在条件中避免使用!= , <>操作符,因为会进行全表扫描。

4.使用union来代替在条件中使用or。

5.in,not in也会导致全局扫描,对于连续的值使用between  and来代替

6.避免模糊查询出现在字符最前边,如‘%aaa‘   

7.子查询中使用exits代替 in   select num from a where num in(select num from b).用下面的语句替换: select num from a where exists(select 1 from b where num=a.num)

8.索引会提高查询效率,但是会降低插入和更新的效率,所以某张表经常进行插入或者是更新,则要减少索引的数量。

9.尽量使用数字型字段,否则会增大存储开销,降低查询和连接的性能。

10.不要使用select*,需要什么字段就查询什么。

11.使用表的别名(Alias):当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误。

相关推荐