地市分站
用户名
密  码
您现在的位置是:树人网首页 / 计算机等级考试 / oracle认证 / 文章浏览
Oracle数据库中的timestamp和date类型
文章来源:来源网络 发表时间:2008-05-22 点击次数
问题:where timestamp>date 这种子句是走索引吗?

  下面我们针对这个问题做一个试验:

  c:>sqlplus / as sysdba

  sys@EOS >create table test as select table_name,to_timestamp(last_analyzed) date_test from dba_tables;

  表已创建。

  sys@EOS> create index idx_test_date on test (date_test);

  索引已创建。

  sys@EOS> desc test

  名称 是否为空? 类型

  ------------------------- -------- ----------------

  TABLE_NAME NOT NULL VARCHAR2(30)

  DATE_TEST TIMESTAMP(0)

  sys@EOS> select date_test from test where date_test > TO_DATE('2007-11-5 00:00:00','yyyy-MM-dd HH24:mi:ss');

  执行计划

  ----------------------------------------------------------

  Plan hash value: 944171586

  -------------------------------------------------------------------------------- --

  | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

  -------------------------------------------------------------------------------- --

  | 0 | SELECT STATEMENT | | 1 | 22 | 1 (0)| 00:00:01 |

  |* 1 | INDEX RANGE SCAN| IDX_TEST_DATE | 1 | 22 | 1 (0)| 00:00:01 |

  -------------------------------------------------------------------------------- --

  Predicate Information (identified by operation id):

  ---------------------------------------------------

  1 - access("DATE_TEST">TIMESTAMP'2007-11-05 00:00:00')

  Note

  -----

  - dynamic sampling used for this statement

   

  统计信息

  ----------------------------------------------------------

  7 recursive calls

  0 db block gets

  18 consistent gets

  0 physical reads

  0 redo size

  280 bytes sent via SQL*Net to client

  374 bytes received via SQL*Net from client

  1 SQL*Net roundtrips to/from client

  0 sorts (memory)

  0 sorts (disk)

  0 rows processed

  从上文中大家可以清楚地看到,timestamp>date情况下,走索引。

  另外,date类型一般很少用,建议大家在产品里面所有的date数据类型全部改为timestamp。



第 页

责任编辑:qwer19871212

相关文章
公告栏

“蓝焰杯”第二届河南教育十大新闻人物火热评选中!!

点击参加评选,为你心目中的新闻人物投上一票>>>>
频道内容精选
[计算机考试]程序员必考的知识点
论坛/博客精选