+ -
当前位置:首页 → 问答吧 → 这样写SQL语句有啥不同,会影响查询速度吗?

这样写SQL语句有啥不同,会影响查询速度吗?

时间:2011-11-05

来源:互联网

表table1,在字段pono,pno上有建索引,字段active上未建任何索引。

SQL语句一:
select pono,pno from table1 where active='Y' and pono=@pono and pno=@pno

SQL语句二:
select pono,pno from table1 where pono=@pono and pno=@pno and active='Y'

问题:
两条语句是否能够用到索引,哪一条效率快一些?

作者: glassy2000   发布时间: 2011-11-05

使用变量可能导致优化器选择索引失误,可尝试强制使用索引,你两种写法没什么不同

作者: ssp2009   发布时间: 2011-11-05

你两条数据同时选中,然后CTRL+L,看执行计划,我觉得应该是50%vs50%

作者: maco_wang   发布时间: 2011-11-05

引用楼主 glassy2000 的回复:
表table1,在字段pono,pno上有建索引,字段active上未建任何索引。

SQL语句一:
select pono,pno from table1 where active='Y' and pono=@pono and pno=@pno

SQL语句二:
select pono,pno from table1 where pono=@pono and pno=@pno and……

一样的效果,没什么不同

作者: Tosp2012   发布时间: 2011-11-05

看看执行计划 贴出来看看

作者: fredrickhu   发布时间: 2011-11-05

是一样的,会用到索引

作者: roy_88   发布时间: 2011-11-05