2017-10-22

Find Foreign keys without index - 找出 FK 資料表缺少的索引


建議:在 FK 資料表上建立索引,可優化效能於:刪除、更新 或 查詢 等作業上。

參考 [SQL Server] Suggestion: create Index on Foreign Keys - 建議在 FK 資料行上建立索引

可使用以下 T-SQL 指令碼,協助找出 FK 資料表缺少的索引。

示範環境:SQL Server 2017

-- 02_Find Foreign keys without index


-- 03_INX_Script


-- 04_INX_Script_2




修正版本 - 範例程式碼

感謝 Satheesh Variath 提供的 Find foreign keys not having supporting index 。
經過測試,目前版本不支援 case sensitive 環境。

修改後請參考:FK_Without_Index_2_For-Case-Sensitive.sql

下載 20171022_Find Foreign keys without index

-- 99_Error_case sensitive





參考資料

Find foreign keys not having supporting index
https://gallery.technet.microsoft.com/scriptcenter/Find-foreign-keys-not-6859c629

[SQL Server] Suggestion: create Index on Foreign Keys - 建議在 FK 資料行上建立索引
http://sharedderrick.blogspot.tw/2017/10/sql-server-suggestion-create-index-on.html

SQLskills SQL101: Indexes on Foreign Keys
https://www.sqlskills.com/blogs/kimberly/sqlskills-sql101-indexes-foreign-keys/

When did SQL Server stop putting indexes on Foreign Key columns?
https://www.sqlskills.com/blogs/kimberly/when-did-sql-server-stop-putting-indexes-on-foreign-key-columns/

沒有留言:

張貼留言