外鍵約束是否在沒有使用約束更新列的SQL更新語句上檢查? (在MS SQL Server)外鍵約束是否在沒有用約束更新列的SQL更新語句上檢查?
說我有一個以下列的情侶對錶:
OrderItems
- OrderItemID
- OrderItemTypeID (FK to a OrderItemTypeID column on another table called OrderItemTypes)
- ItemName
如果我只是更新
update [dbo].[OrderItems]
set [ItemName] = 'Product 3'
where [OrderItemID] = 2508
請問FK約束做它的查找/與檢查上面的更新聲明? (甚至認爲更新不會更改該列的值?)
雖然這是一個有效的問題,但我想知道這可能是多麼相關 –
如果未檢查FK,那麼在更新語句中不包括FK列會有性能優勢。 –