2015-01-12 38 views
0

是否可以添加索引來選擇連接表的語句?如果有可能添加一個索引來選擇類似這樣的語句:在連接表上添加索引SQL Server

SELECT DISTINCT 
    V.colA, VE.colB 
FROM 
    tbl1 V 
JOIN 
    tbl2 VE ON V.colAB = VE.colAB 
WHERE 
    VE.colBC = '1' AND V.colUser = 'userId' 

我想它來創建使用SQL Server Management Studio中獲取列VE.colBCV.colUser的索引。我不知道如何將它放入查詢中。我試過這個,但顯然這是不正確的:

CREATE INDEX indexTest ON tbl1 (colUser, colBC) 

那麼我該如何使它工作?

+1

您不能用兩個獨立表中的列創建索引;一個索引總是**在一張**表 –

+0

我看,我只是看着@Tcks回答關於索引視圖。 – marchemike

+0

我不完全確定,但我認爲如果您在tbl1.colUser和tbl2(VE)上的另一個索引(tbl2.colAB,tbl2.colBC)上創建索引,並將VE.colBC謂詞移動到join子句中:ON V.colAB = VE.colAB AND VE.colBC ='1'WHERE V.colUser ='userId'你將會有或多或少的相同。 – Anton

回答