码迷,mamicode.com
首页 > 数据库 > 详细

数据库相关优化

时间:2019-10-23 21:56:53      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:HERE   更新   相关   where   bsp   字段   not   也会   exist   

一.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歧义引起的语法错误。

 

数据库相关优化

标签:HERE   更新   相关   where   bsp   字段   not   也会   exist   

原文地址:https://www.cnblogs.com/gmzqjn/p/11728888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!