------解决方案-------------------- 建议采用dawugui的办法。
------解决方案-------------------- http://blog.csdn.net/arrow_gx/article/details/2469555
------解决方案-------------------- SQL SERVER 性能优化(强制使用索引查询)
情况1: 如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描: select id from t where num=@num 可以改为强制查询使用索引: select id from t with(index(索引名)) where num=@num
情况2: 使用索引查询: select * from 表名(index =索引名) where 索引字段=50100
------解决方案-------------------- 你试试 select * from testtable with(index =ix_testtable_1) where name='test'
------解决方案--------------------
------解决方案-------------------- 你创建的这个索引,因为第一列不是name 所以查询语句 where name = XXX是用不上的 另 即使有索引 也不是一定会用 假如说你这个where条件的结果占整张表的80% 那显然sql server会自动选择全表扫描 所以也要考虑索引列的选择性