一尘不染

如何在SQL查询中使用索引

sql

好吧,我是这个东西的新手..我在开始时就在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'.

或任何其他在查询中使用此索引的方法

还有,如果我们在此表上使用联接,该如何使用索引?


阅读 715

收藏
2021-05-23

共1个答案

一尘不染

首先,您是说要在存储过程中创建索引吗?这是一个坏主意-如果您两次运行存储过程,它将由于索引已存在而失败。

其次,您的查询不使用索引中提到的列,因此不会产生任何影响。

第三,正如JodyT所写,查询分析器(SQL Server本身)将决定使用哪个索引。几乎可以肯定,它比您强。

最后,为了加快您提到的查询,在artc和atelr列上创建索引。

2021-05-23