我有下面列的表格,性能ISNULL的
ID(int),
RegardingContactID(int),
RegardingAccountId(int),
RegardingIncidentID(int),
RegardingType(varchar)
RegardingType
可以是「聯繫人」,「帳戶」,「九一八」事變
基本上我想抽象所有RegardingXXXID
列如下:
SELECT
ID,
ISNULL(RegardingContactID, ISNULL(RegardingAccountId, RegardingIncidentID)) AS RegardingID,
RegardingType
這似乎意在工作,但ISNULL
並不顯得高性能大型數據集。
是否有一個更優雅/高性能的方式來實現這一目標?
爲什麼你認爲'isnull'這是造成糟糕表現的原因? –
因爲我在沒有ISNULL的情況下運行SELECT,並在單獨的查詢中返回每個ID列,並使用ISNULL將其與上面的查詢進行比較 –
不要與三個不同的查詢進行比較。與在相同查詢中將值返回爲三列進行比較。 –