2
我有一個名爲表的列表:一個MSSQL鏈接服務器上如何優化簡單的鏈接服務器選擇查詢?
- ID(INT,主鍵,聚簇,唯一索引)
- TEXT(VARCHAR 15)
稱爲LS。鏈接服務器位於同一臺服務器計算機上。和:
當我打電話:
SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM Table')
這需要400毫秒。
當我打電話:
SELECT ID, TEXT FROM LS.dbo.Table
這需要200毫秒
當我直接打電話查詢,同時在LS服務器:
SELECT ID, TEXT FROM dbo.Table
這需要100毫秒。
在很多地方我讀過OPENQUERY更快,但在這種簡單的情況下,它似乎並不奏效。當我從另一個服務器調用它時,我能做些什麼來使這個查詢更快,而不是直接調用LS?
我只有在鏈接服務器是不同類型的時候才使用OpenQuery,例如Oracle。是不同的總是那標記即。 X2?如果您要發送更大的查詢請求更多的數據/更重的過濾器是標記的開銷? – CResults 2010-03-16 08:45:39
@CResults - 當過濾器更復雜時,過度更大,差異來自多次平均測試。特定的查詢有很多不同的時間。 – 2010-03-16 08:51:04