Tutorial for Application Development



Tuesday 28 December 2010

การสร้าง Index บน Oracle บน Field Date Time ให้เร็ว

การสร้าง Index บน Oracle บน Field Date Time ให้เร็ว

บางครั้งการสร้าง Index เราควรต้องดูรายละเอียด ซักนิดนึงผมเองเคยเจอปัญหากับ Field
ที่เป็น Date Time ถึงแม้จะทำการสร้าง Index ไว้แล้วก็ตามแต่ ถ้าเราต้องการ Query ตามวันที่เท่านั้นไม่สนใจเวลา จะทำให้ไม่สามารถใช้ Index ตัวนั้นได้ แนวทางแก้ไขนะครับ ก็จัดไปเลย Index ยังไงก็ได้ ตามที่เราต้องการ เช่น ถ้าต้องการ Query แค่วันที่ ก็ใส่แบบนี้ได้ครับ

CREATE INDEX IDX_TEST ON TEST_TBL
(
TO_CHAR(FIELD_DATE_TIME, 'DDMMYY')
);


ตอน Query เราก็ทำการ Query ให้ตรงตาทรูปแบบที่เรา Index ไว้ เช่น

select * from TEST_TBL where
TO_CHAR(FIELD_DATE_TIME)='010810';


เพียงเท่านี้แหละครับก็จะทำให้ เราสามารถ Query ได้เร็วแบบติดจรวดไปเลย

No comments: