联盟声明的有效替代方案

丹·沃德

我需要找到一种更有效的方法,该方法可以将两个表中的两组数据区别开来。保存在两个表中的数据均经过碎片整理,压缩和索引。其索引也会进行碎片整理和压缩。结果集在联合之前已经受到限制。

有问题的代码示例:

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 A.UserID=@UserID And B.GroupNameID=@groupidentifier
        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 B.GroupNameID=@groupidentifier
    ) As UnionTable
    Order By last_name Asc, First_name Asc, entry_id Asc

理想情况下,我正在寻找一种可以提供相同结果的替代方法。我已经尝试了以下方法:

  • 选择与所有工会不同
  • 双重插入表变量并选择不重复
  • 将其双重插入到临时表中并选择不同的(以及上述带有索引的变体,其方式是仅在底部修改索引)

我知道不平衡的工会会导致性能问题,但是在这种情况下,此查询将始终处于平衡状态。

在此问题上的任何帮助将不胜感激,谢谢。

马特
Select
    A.entry_id
    ,First_name
    ,last_name
    ,Mobile_Phone
    ,Email_Address

    ,CASE WHEN A.UserId = @UserId THEN '1' ELSE '0' END As 'ownership'

From
    userAddressBook As A
    Join collectionMapping As B
    On A.entry_id=B.entry_id
Where
    B.GroupNameID = @groupidentifier
Order By
    last_name Asc
    ,First_name Asc
    ,entry_id Asc

您几乎拥有完全相同的查询,使用CASE表达式,然后在单个查询中执行此操作将获得更多的效果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

什么是超大型HashMap的有效替代方案?

来自分类Dev

Svelte 3,异步onMount还是有效的替代方案?

来自分类Dev

关于自动装箱,Java中Map <Integer,Integer>的有效替代方案?

来自分类Dev

寻求替代sapply的有效方法

来自分类Dev

如何有效地将字符串用作Java中的WeakHashMap键或替代解决方案

来自分类Dev

有效检查角色声明

来自分类Dev

方案挂钩仅对方案大纲有效?

来自分类Dev

有效地将信息添加到列表中。Linq联盟?

来自分类Dev

dict.update()在计算上是有效的还是有更有效的替代方法?

来自分类Dev

使功能在循环内的最有效替代方法

来自分类Dev

数组“ ismember”函数的有效替代方法-MATLAB

来自分类Dev

替代使用Target.Address的有效方法

来自分类Dev

定义为方法签名的委托不是有效的替代

来自分类Dev

替代xmllint来检查xml有效性

来自分类Dev

合格的Haskell列表理解的有效替代方法

来自分类Dev

加入Left或WHERE解决方案-最有效?

来自分类Dev

使用尾递归更有效的解决方案?

来自分类Dev

算法设计。最佳,最有效的解决方案

来自分类Dev

寻找解决方案的最有效方法-C ++

来自分类Dev

Javascript sin()和cos()的有效解决方案?

来自分类Dev

使用尾递归更有效的解决方案?

来自分类Dev

Vim配色方案并不总是有效

来自分类Dev

Hackerrank 不接受有效的解决方案

来自分类Dev

如果所有RP和STS是在内部开发的,则联盟是否是跨域SSO的有效方法?

来自分类Dev

如果所有RP和STS是在内部开发的,则联盟是否是跨域SSO的有效方法?

来自分类Dev

如何为每个jUnit声明有效的HTML

来自分类Dev

为什么这个const const const声明有效

来自分类Dev

Android JWT在签名时解析有效负载/声明

来自分类Dev

有效使用使用声明(不在MSDN中)

Related 相关文章

  1. 1

    什么是超大型HashMap的有效替代方案?

  2. 2

    Svelte 3,异步onMount还是有效的替代方案?

  3. 3

    关于自动装箱,Java中Map <Integer,Integer>的有效替代方案?

  4. 4

    寻求替代sapply的有效方法

  5. 5

    如何有效地将字符串用作Java中的WeakHashMap键或替代解决方案

  6. 6

    有效检查角色声明

  7. 7

    方案挂钩仅对方案大纲有效?

  8. 8

    有效地将信息添加到列表中。Linq联盟?

  9. 9

    dict.update()在计算上是有效的还是有更有效的替代方法?

  10. 10

    使功能在循环内的最有效替代方法

  11. 11

    数组“ ismember”函数的有效替代方法-MATLAB

  12. 12

    替代使用Target.Address的有效方法

  13. 13

    定义为方法签名的委托不是有效的替代

  14. 14

    替代xmllint来检查xml有效性

  15. 15

    合格的Haskell列表理解的有效替代方法

  16. 16

    加入Left或WHERE解决方案-最有效?

  17. 17

    使用尾递归更有效的解决方案?

  18. 18

    算法设计。最佳,最有效的解决方案

  19. 19

    寻找解决方案的最有效方法-C ++

  20. 20

    Javascript sin()和cos()的有效解决方案?

  21. 21

    使用尾递归更有效的解决方案?

  22. 22

    Vim配色方案并不总是有效

  23. 23

    Hackerrank 不接受有效的解决方案

  24. 24

    如果所有RP和STS是在内部开发的,则联盟是否是跨域SSO的有效方法?

  25. 25

    如果所有RP和STS是在内部开发的,则联盟是否是跨域SSO的有效方法?

  26. 26

    如何为每个jUnit声明有效的HTML

  27. 27

    为什么这个const const const声明有效

  28. 28

    Android JWT在签名时解析有效负载/声明

  29. 29

    有效使用使用声明(不在MSDN中)

热门标签

归档