|
2
|
| Jason Pyeron Evgeniy Dorofeev · 技术社区 · 17 年前 |
|
|
1
0
Oracle 10g确实有一个正则表达式函数,在这种情况下可能会对您有所帮助。 http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm 此外,如果必须在数据库中执行此操作,则可以查看java存储过程。 我不知道有什么索引可以在这种情况下帮助你,尽管u可以出现在任何地方,包括第一个字符。 |
|
|
2
0
如果是这样,您可以通过以下方式限制可能性
我似乎记得读到过这样一篇文章,FBI可能会遇到一个问题,即没有为这些问题制定最佳计划,因此可以使用另一种SQL
|
|
|
3
0
下一步建议。 简单选项:u是LIKE的单字符匹配,因此简单的解决方案是
每次都将进行一次完整的表扫描,但保存了SQL和PL/SQL层之间的切换 复合期权 我做了一个测试。首先,我将10000个值加载到TMP中,几乎是随机生成的。不确定数据集有多大,或者不带通配符、一个通配符或多个通配符的条目的比例。这将对结果产生重大影响。
我比较了“双头”和“面具合并”。在测试中,这类测试通常需要200-250(百分之一秒),而马斯克麦格测试则需要大约十倍的时间。正如我所说,这将在很大程度上取决于数据分布。 |
|
|
4
0
现在,优化器说:
这非常好,即使my:srch中有通配符,Oracle也可以进行优化。 最后,即使没有提示,VAL和mask COL的标准索引也足以实现这一目的。在10g上测试。注意:我们使用union all,因为v1和v2总是互斥的。
完整测试用例(具有典型数据分布):
|
|
|
5
0
仅供参考, 我发现,当您需要在%var%上进行匹配并使其能够快速处理大量数据时,最好的方法是使用Oracle的Oracle文本索引。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |