0
我需要找到一种更有效的方法来清楚地加入两个表中的两组数据。数据保存在两张经过碎片整理,压缩和索引的表中。其索引也进行了碎片整理和压缩。工会之前,结果集已经是有限的。有问题的代码的联盟声明的高效替代方案
实施例:
Select * From (
Select A.entry_id, First_name, last_name, Mobile_Phone, Email_Address, '1' As 'ownership'
From userAddressBook As A Join collectionMapping As B On A.entry_id=B.entry_id
Where [email protected] And [email protected]
Union
Select A.entry_id, First_name, last_name, Mobile_Phone, Email_Address, '0' As 'ownership'
From userAddressBook As A Join collectionMapping As B On A.entry_id=B.entry_id
Where A.UserID<>@UserID And [email protected]
) As UnionTable
Order By last_name Asc, First_name Asc, entry_id Asc
我理想地寻找可以提供相同的结果的另一种方法。我已经试过如下:
- 在选择自Union不同所有
- 双重插入到表变量和选择不同
- 双重插入到临时表,并选择不同的 (以及上述的变型具有索引这种方式只在底部修改索引)
我知道不平衡的联合会导致性能问题,但是在这种情况下,这个查询总是会被平衡打中。
对此事的任何帮助将不胜感激,谢谢。