请教关于set rowcount性能的问题
最近发现我们的系统在做一个查询时很慢,
后来通过SQLSERVER的事件跟踪发现这一语句要7-8分钟才返回结果,但把这语句拿到查询分析器里执行10秒内就能返回结果
最后发现是程序在这语句前执行了 set rowcount 100的操作
把这句加到查询分析器里一同运行,发现返回这100条数据也要7-8分钟了(结果应是8000多条记录,在一个3000多万条记录和另一个几千条记录的表中关联查询)
并发现一个问题就是如果查询条件(SQL语句不变,只是变量变一下)让返回结果只有很少的话,加不加set rowcount 都能很快返回结果
请问这个问题大家有没有见过,如何解决?
另:应系统程序是不能变的,所以只能从数据库上着手了
看到网上说SET ROWCOUNT和TOP N是有性能差别,但我这种从几秒到几分钟的别就太大了吧,通否通过INDEX优化来解决?(我对3000万记录的表做了查询时用到几个字段的INDEX,但没有效果,是否是我INDEX建得不对)