การสร้าง 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 ได้เร็วแบบติดจรวดไปเลย
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment