sql优化之我见

本文总结了SQL优化的经验,包括使用索引提高查询效率、SARG原则的应用、复合索引的设计等,帮助读者理解如何减少全表扫描,提升数据库性能。

前段时间集中进行了sql的优化,现在把一些经验总结出来,为自己也为别人,不足之处欢迎指正.

1.使用索引查找
  对数据最快进行查找的方法是使用索引,如果要取出其他的列,sql会使用BookMark,索引可以直接在表级应用where子句和连接条件。
  例子:表regisrersys 索引列userid 数据量:2万
        select * from registersys where userid='test01'
        select * from registersys where studentname='test01'
        在执行计划中,1为1.98% 2为98.02%,因为2引起了全表查询  
2。SARG
  SARG(Search Argument)搜索参数,即sql使用索引优化where条件,下面是一些基本原则
  ·and是SARG,但or不是
  ·否定的条件(<> 、!>、 !< 、not exists、not In 、not Like)是不可优化的。
  ·通配符开始的条件是不能使用索引
  ·使用了表达式的条件不能使用索引
  ·where条件中包含了函数,需要表扫描
  ·SQL Expert是个不错的SARG工具
3。关于索引
  ·在一对多的联系中多的一方的外键(如orderdetial中的orderid)建立聚集索引
  ·复合索引中列顺序很关键,把经常检索的列放置在第一个位置
  ·如果表中有聚集索引,那所有的非聚集索引都是包含了聚集索引列的复合索引
  ·不要对只包含少数几个索引值的列设置为索引列,因此bit类型的列不适合做索引列
  ·使用索引优化向导参考进行索引优化 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值