oracle - 日期文字是否比使用 to_date 更快?

标签 oracle

哪个更快?还有其他区别吗?

A.

SELECT
    *
FROM
    my_table
WHERE
    my_date >= DATE '2013-01-17';

B.

SELECT
    *
FROM
    my_table
WHERE
    my_date >= TO_DATE('17/01/2013','dd/mm/yyyy');

最佳答案

有意义的不同是极不可能的。如果您的瓶颈是将字符串文字转换为日期的速度有多快,我倾向于宣布胜利并为历史上第一个完美调整的应用程序干杯。或者认真质疑我做错了什么,迫使如此多的文字需要转换为日期。

理论上,使用日期字面值应该会快一点,因为格式是固定的,所以您不必先解析格式掩码,然后再解析字符串。但这假设 Oracle 在内部麻烦编写优化的日期文字路径,而不是在内部通过 to_date 代码路径(这可能取决于特定的 Oracle 版本)。而且,就像我说的,如果您处于这种差异很重要的位置,那么您要么做错了事情,要么您对应用程序进行了彻底的调整,几乎可以肯定是时候停止了。

关于oracle - 日期文字是否比使用 to_date 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165136/

相关文章:

sql - 如何对下面的更新sql进行SQL调优

sql - 使用列与另一个列进行评估 oracle

sql - 在 Oracle 中使用数据透视表的建议

sql - 日期在范围内时如何重复选择查询?

sql - Oracle SQL 查询 - 使用 MAX() 函数时加入

oracle - PLS-00103 : Encountered the symbol “)” when expecting one of the following:

java - MyBatis ORA-01745 : invalid host/bind variable name

java - 如何在 JDBC 中设置游标类型?

结果集 Oracle 上的 Java 线程

java - SCJP 还是 SCJP plus?