where条件对查询的影响
2010-02-04 21:21
162 查看
where后面的条件顺序影响
where子句后面的条件顺序对大数据量表的查询会产生直接的影响,如
select * from zl_yhjbqk where dy_dj = ’1KV以下’ and xh_bz=1
select * from zl_yhjbqk where xh_bz=1 and dy_dj = ’1KV以下’
以上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都
是全表扫描,
第一条SQL的dy_dj = ’1KV以下’条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,
在进行第一条SQL的时候99%条记录都进行dy_dj及xh_bz的比较,而在进行第二条SQL的时候0.5%条记录
都进行dy_dj及xh_bz的比较,
以此可以得出第二条SQL的CPU占用率明显比第一条低。
where的执行顺序是从后到前执行的,因此应该把可以过滤掉最多的数据的条件写在最后。
where子句后面的条件顺序对大数据量表的查询会产生直接的影响,如
select * from zl_yhjbqk where dy_dj = ’1KV以下’ and xh_bz=1
select * from zl_yhjbqk where xh_bz=1 and dy_dj = ’1KV以下’
以上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都
是全表扫描,
第一条SQL的dy_dj = ’1KV以下’条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,
在进行第一条SQL的时候99%条记录都进行dy_dj及xh_bz的比较,而在进行第二条SQL的时候0.5%条记录
都进行dy_dj及xh_bz的比较,
以此可以得出第二条SQL的CPU占用率明显比第一条低。
where的执行顺序是从后到前执行的,因此应该把可以过滤掉最多的数据的条件写在最后。
相关文章推荐
- MySQL查询where条件的顺序对查询效率的影响
- SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响
- SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响
- 查询自动优化带来的负面影响--where条件执件顺序被打乱
- 要提高SQL查询效率where语句条件的先后次序应如何写
- SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别
- mongodb.driver 2.4.4 c# 第二篇 动态where条件查询
- Error Code: 1093. You can't specify target table,delete或者update的where条件中有子查询解决办法
- 数据库where查询条件是中文时查找无结果的解决方法
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- Ruby on Rails,使用where方法对持久化对象进行条件查询
- sql查询条件on where having 介绍
- Sql 查询语句中 Where条件语句中 元操作符的运算优先顺序
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- 数据库查询实例(包含所有where条件例子)
- sql查询条件where 1=1,1=2
- sql连表查询where后面的条件是否可以加在on后面
- linq 多条件查询 where 拼接+分页
- MySQL左联多表查询where条件写法示例
- 7、使用WHERE子句查询表中满足条件的记录