4
การเพิ่มประสิทธิภาพการสืบค้นในช่วงเวลาที่ประทับ (สองคอลัมน์)
ฉันใช้ PostgreSQL 9.1 บน Ubuntu 12.04 ฉันต้องเลือกระเบียนภายในช่วงเวลาหนึ่ง: ตารางของฉันtime_limitsมีสองtimestampฟิลด์และหนึ่งintegerคุณสมบัติ มีคอลัมน์เพิ่มเติมในตารางจริงของฉันที่ไม่เกี่ยวข้องกับแบบสอบถามนี้ create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); ตารางนี้มีเร็กคอร์ด 2M โดยประมาณ ข้อความค้นหาต่อไปนี้ใช้เวลามหาศาล select * from time_limits as t where t.id_phi=0 and t.start_date_time <= timestamp'2010-08-08 00:00:00' and t.end_date_time >= timestamp'2010-08-08 00:05:00'; ดังนั้นฉันจึงพยายามเพิ่มดัชนีอื่น - ค่าผกผันของ PK: create index idx_inversed …