我有三張桌子。存儲在記錄中的數據大小是否會影響聚集索引性能?
- 主事實表(FactTable)
- 含有的int字段表+其他 'N' VARCHAR(50)字段(Table001)
- 含有的int字段表+其他 'N' VARCHAR(最大)字段(Table002)
記錄在每個表:#500萬行
查詢:
select * from FactTable f with (nolock)
inner join Table001 t001 with (nolock) on f.id = t001.id
inner join Table002 t002 with (nolock) on t002.id = f.id
where f.datefield = '2014-02-01'
代
所有表對所有在球場上「ID」一個聚集索引(在連接表中使用,即,像一個外鍵)
羣集索引不分散(破碎率< 5%)表
這種情況是當我加入所有三個表,我看到在執行計劃中加入table002的成本高於table001。這種行爲是否有任何理由?
鏈接到XML執行計劃:https://onedrive.live.com/redir?resid=7E436AE9D73999B0%21120
我不能粘貼,因爲大小限制的XML內容。
另一個鏈接:http://www.expinos.in/ExecutionPlan.sqlplan
是隻有您的數據被讀取?否則,NOLOCK可能會返回錯誤的結果,你知道的。更好地使用(readcommitted)。 – TomTom
是大多數時間都是靜態的,只有在一天中的某個小時內纔會插入,所以NOLOCK不會損害數據的完整性 – M22an
您可以發佈XML版本的執行計劃嗎? –