我有下面列的表格,性能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将其与上面的查询进行比较 –
不要与三个不同的查询进行比较。与在相同查询中将值返回为三列进行比较。 –