- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
select * from tab4 where a in (select b from tab4)
select * from tab4 where a in (select DISTINCT b from tab4)
上述 2 个查询产生完全相同的查询计划和 IO 统计信息,因此第二个查询中的 DISTINCT 似乎没有产生任何影响并被 SQL Server 忽略。 (我在两个查询中都有一个“Hash Map(Partial aggregate”运算符,我猜它用于 DISTINCT)
这是否适用于所有情况,还是我只是遇到了一个边缘情况?
最佳答案
DISTINCT
在这里没有任何逻辑上的区别。因此,说是不是暗示是没有意义的。
在实现层面上,SQL Server 知道这一点。在子查询中使用 DISTINCT
来提高性能是迷信的。它什么都不做。
事实上,我不清楚为什么它在所有情况下都有帮助。区分一组可能代价高昂。如果这不是一个好主意,SQL Server 将不会这样做。
关于sql-server - DISTINCT 是否总是隐含在 IN 子句中使用的子查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094983/
我正在使用 Fortran90,但我对它不太熟悉。 在代码的某些地方,我想在 t0 和 tf 之间创建一个由 n 个线性等距点组成的数组,所以我尝试了以下方法: t = t0+(/(i,i=0,n-1
我试图弄清楚为什么在数组构造函数内的 do 构造之前放置标量会产生它所得到的答案。 我一般理解 do 结构,(/(i,i=1,5)/) 相当于 (/1,2,3,4,5/)。 real, dimensi
我目前遇到的情况是,我需要能够通过应用程序 B 的隐式 Intent 广播来启动应用程序 A。应用程序之间没有数据传递。应用程序 A 被简单地启动,显示特定的 Activity。 我的问题是这样的;从
我是一名优秀的程序员,十分优秀!