在采访中被问到:我有 2 张表,一张表有类似的记录ID, Name, address
。id(pk)
是从 1 到 10000000。
另一个表有从 10000001 到 20000000 的记录。
我必须检查表 1 或表 2 中是否存在特定 ID 并返回相应的结果。
因为表大小很大,所以必须想一个优化的方法来做到这一点。
在采访中被问到:我有 2 张表,一张表有类似的记录ID, Name, address
。id(pk)
是从 1 到 10000000。
另一个表有从 10000001 到 20000000 的记录。
我必须检查表 1 或表 2 中是否存在特定 ID 并返回相应的结果。
因为表大小很大,所以必须想一个优化的方法来做到这一点。
declare @ID BIGINT
SET @ID=10000000
IF EXIST(SELECT ID FROM TABLE1 WHERE ID=@ID)
SELECT ID,NAME,ADDRESS FROM TABLE1 WHERE ID=@ID
ELSE IF EXIST(SELECT ID FROM TABLE2 WHERE ID=@ID)
SELECT ID,NAME,ADDRESS FROM TABLE2 WHERE ID=@ID
ELSE
SELECT @ID
我的想法很少。