我是一個正常的「將是DBA」級開發人員。我一直在處理一些有數百萬條記錄的數據庫。在數據庫及其克隆之間導入數據很多,然後在Web應用程序環境中使用該克隆。分配FK索引有多值得?
那麼,我知道保持PK索引自動,所以它有助於加快數據訪問。現在,從這個討論中我得出,如果我在我的SQL查詢中使用JOIN,那麼我會使用FK並對其進行索引以使JOIN操作有效。
例如,我有一個表OrgMaster(包含所有組織記錄),那麼我有一個BookingMaster表(包含所有預訂記錄)。現在,OrmaMaster.Id被「引用」爲BookingMaster.OrgId。所以,我有一個用於OrgId-Id關係的FK,並且爲了在這兩個表格之間的任何JOIN操作獲得更好的性能,我都會'索引'它。我是否正確地得到它?
以上所有 - 以額外的空間和時間開銷爲代價(用FK在表中插入記錄)。
我會要求你提供我要考慮的點的列表,如:
- 是FK-指數要吃掉作爲表的增長几百萬條記錄太多空間\時間?
- 在這種情況下,是否值得去FK索引「每次」?
在什麼情況下shud我不適用FK或指數,或兩者都不它的(當然我可以處理從應用程序很多)
任何其他棘手的加速比JOIN或其他這樣費時查找?
謝謝。