首页 > 数据库技术 > 详细

Sql查询优化

时间:2017-10-30 16:40:49      阅读:254      评论:0      收藏:0      [点我收藏+]

一,数据库设计角度

  1.尽量避免全表查询,首先考虑在where一级order by的列上建立索引。

  2.尽量避免在where的子句中进行null判断,导致引擎放弃索引进行全表扫描。列如:select id from t where num is null;可以在num设置为0,确保不会出现null

  3.并不是所有索引对查询都有效,如果字段中含有大量重复数据,sql会对查询进行优化,不会使用索引

  4.索引会提高select效率,但是会降低insert和update,因为要建立索引,所以一个表中索引最好不要超过6个

  5.避免更新索引数据列

  6.尽量使用数字型字段

  7.使用varchar/nvarchar代替char/uchar

  8.尽量使用表变量代替临时表

  9.避免频繁创建和删除临时表

二Sql方面

  1.尽量避免在where子句中使用!= ,<与>,会导致引擎放弃索引进行全表扫描

  2.尽量避免在where子句中使用or会导致引擎放弃索引进行全表扫描

    select id from t where id = 1 or id = 2可以使用select id from t where id union all select id from t where id = 2

  3.in 与 not in也要慎用会导致全表扫描,对于连续的数值可以使用between

    select id from where id in (1,2,3)可以使用select id from where id between 1 and 3

Sql查询优化

原文:http://www.cnblogs.com/derleser/p/7754919.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!