|
1
5
量,别猜! 这是您应该自己做的事情,使用类似于生产的数据。 不知道你的数据的组成,这就有很大的不同。
然后我会有一个insert/update触发器来正确填充该列,索引它并使用尖叫女妖速度:
这个 大多数数据库的读取频率高于写入频率,最好是尽可能少地执行此计算(即,当数据更改时,而不是每次选择时)。如果希望数据库具有可伸缩性,请不要使用每行函数。
如果再添加一个列和触发器是不可能的,我会选择
另一个选择,马克布给了,但因为删除了他的答案,所以我不得不去寻找
另一个
很好的答案是使用
|
|
|
2
1
在一个在Col1和Col2上有13.000.000个条目和索引的MSSQL表(MSSQL 2000)上,我得到以下结果:
第一个语句需要较少的编译时间,但需要更多的cpu时间来执行(culstered索引扫描)。 重要的是要知道,许多存储引擎都有一个优化器,它可以重新组织存储以获得更好的结果和执行时间。最终,这两条语句将由优化器重建为基本相同的语句。 |
|
|
3
0
我认为,你的替代表达并不意味着相同。假设filterValue为
服务器有可能从上的索引中回答此问题
OTOH,您应该在做出这样的假设之前进行度量,除非您对实现有深入的了解,否则在SQL中推测通常不起作用。例如,我很确定查询规划人员已经知道了这一点
|
|
|
4
0
得到以下结果: 两种方法的效果几乎相同 估计子树成本 公制。 或者 该方法具有更准确的预测价值 估计行数 公制。 比为 接近。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |