【发布时间】:2018-11-08 10:47:55
【问题描述】:
SELECT DISTINCT i.name, i.daily_cost
FROM edu_event.items i
WHERE i.purchase_date BETWEEN DATE'2015-01-01' AND DATE'2015-12-31';
对于这个查询,选择了以下执行计划:
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 5750 | 213K| 206 (1)| 00:00:01 |
| 1 | HASH UNIQUE | | 5750 | 213K| 206 (1)| 00:00:01 |
|* 2 | TABLE ACCESS FULL| ITEMS | 5750 | 213K| 205 (1)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("I"."PURCHASE_DATE">=TO_DATE('2015-01-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "I"."PURCHASE_DATE"<=TO_DATE('2015-12-31 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
如您所见,原始日期文字已替换为 to_date 函数。我可以以某种方式禁用它吗?这种格式比较大,但是没有提供更多的信息,所以我不需要。 SQL Developer 可以通过编程方式将其转换回来吗?
【问题讨论】:
标签: sql oracle oracle-sqldeveloper sql-execution-plan