wmlion 发表于 2009-01-15 14:59

chuxu 发表于 2009-01-15 15:39

select * from table1 where time>=dateadd(day,-1,@combine_day)
这样写where子句的条件中使用函数,是无非直接使用索引的,
可以将dateadd(day,-1,@combine_day)的结果赋值给一个变量,◎varday
select * from table1 where time>=◎varday

wmlion 发表于 2009-01-16 00:32

D_D_D_D 发表于 2009-01-16 11:24

强制使用索引性能会提升么

camham 发表于 2009-01-19 17:09

可以强制使用索引

wmlion 发表于 2009-01-24 10:34

wmlion 发表于 2009-01-24 15:39

D_D_D_D 发表于 2009-02-01 14:42

不应该啊,如果指定索引,肯定比表扫描要快,除非有几种情况
1.表锁是DOL的,需要reorg
2.索引不是聚簇唯一索引(简称主键),不过只要是索引肯定会快的
3.系统资源没有调优,导致瓶颈不在sql上

可以先showplan看看,然后用sp_sysmon看下问题到底出在哪里

camham 发表于 2009-02-02 11:38

回复 #7 wmlion 的帖子

update statistics
然后强制index

chuxu 发表于 2009-02-02 12:20

set showplan on
看你的查询计划
页: [1]
查看完整版本: 以变量作为条件查询速度慢