好吧,我是这个东西的新手..我在开始时就在SP中创建了一个索引,如下所示
Create Index index_fab ON TblFab (Fab_name)
现在我有这个查询
select fab_name from TblFab where artc = 'x' and atelr = 'y'.
现在是否有必要在select子句中使用此索引名称,否则它将自动用于加速查询
我需要使用类似的东西吗
select fab_name from TblFab WITH(INDEX(index_fab)) where artc = 'x' and atelr = 'y'.
或任何其他在查询中使用此索引的方法
还有,如果我们在此表上使用联接,该如何使用索引?
首先,您是说要在存储过程中创建索引吗?这是一个坏主意-如果您两次运行存储过程,它将由于索引已存在而失败。
其次,您的查询不使用索引中提到的列,因此不会产生任何影响。
第三,正如JodyT所写,查询分析器(SQL Server本身)将决定使用哪个索引。几乎可以肯定,它比您强。
最后,为了加快您提到的查询,在artc和atelr列上创建索引。