Oracle數據庫中的timestamp和date類型

問題: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。

ORACLE DATE和TIMESTAMP數據類型的比較
  DATE數據類型    這個數據類型我們實在是太熟悉了,當我們需要表示日期和時間的話都會想到date類型。它可以存儲月,年,日,世紀,時,分和秒。它典型地用來表示什麽時候事情已經發生或將要發生。DATE數據類...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較
 
ORACLE DATE和TIMESTAMP數據類型的比較
  DATE數據類型    這個數據類型我們實在是太熟悉了,當我們需要表示日期和時間的話都會想到date類型。它可以存儲月,年,日,世紀,時,分和秒。它典型地用來表示什麽時候事情已經發生或將要發生。DATE數據類...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較
 
Oracle數據庫Date類型字段讀寫經驗
在Oracle數據庫(簡體中文)中,date類型的數據字段在存取時會比較麻煩,下面把在學習中的一些經驗記錄如下:1、在簡體中文版的OEM中,從“從表數據編輯器”查看該類型數據顯示爲如下格式:26-八月-2004 0...查看完整版>>Oracle數據庫Date類型字段讀寫經驗
 
Oracle數據庫Date類型字段讀寫經驗
在Oracle數據庫(簡體中文)中,date類型的數據字段在存取時會比較麻煩,下面把在學習中的一些經驗記錄如下:1、在簡體中文版的OEM中,從“從表數據編輯器”查看該類型數據顯示爲如下格式:26-八月-2004 0...查看完整版>>Oracle數據庫Date類型字段讀寫經驗
 
ORACLE DATE和TIMESTAMP數據類型的比較(一)
ORACLE DATE和TIMESTAMP數據類型的比較(一) ORACLE DATE和TIMESTAMP數據類型的比較(一) 原著作者:James Koopmann如果你想在ORACLE中存儲DATE和時間信息的話,實際上你由兩種字段數據類型的選擇的話,就讓我...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較(一)
 
ORACLE DATE和TIMESTAMP數據類型的比較(一)
原著作者:James Koopmann如果你想在ORACLE中存儲DATE和時間信息的話,實際上你由兩種字段數據類型的選擇的話,就讓我們看看這兩種數據類型的差別和它們提供了些什麽。 DATE數據類型這個數據類型我們實在是太熟...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較(一)
 
ORACLE DATE和TIMESTAMP數據類型的比較(二)
   原著作者:James Koopmann TIMESTAMP數據的格式化顯示和DATE 數據一樣。注重,to_char函數支持date和timestamp...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較(二)
 
ORACLE DATE和TIMESTAMP數據類型的比較(一)
   原著作者:James Koopmann假如你想在Oracle中存儲DATE和時間信息的話,實際上你由兩種字段數據類型的選擇的話,就讓我們看看這兩種數據類型的差別和它們提供了些什麽。 DATE數據類型 ...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較(一)
 
ORACLE DATE和TIMESTAMP數據類型的比較(二)
ORACLE DATE和TIMESTAMP數據類型的比較(二) ORACLE DATE和TIMESTAMP數據類型的比較(二) 原著作者:James KoopmannTIMESTAMP數據的格式化顯示和DATE 數據一樣。注意,to_char函數支持date和timestamp,但是tr...查看完整版>>ORACLE DATE和TIMESTAMP數據類型的比較(二)
 
 
回到王朝網路移動版首頁