- "คอมโพสิตอินเด็กซ์เร็วกว่าอินเด็กซ์เมิร์จ 10 เท่า
ใน Postgres ความต่างนี้ยิ่งมากกว่า MySQL
เพราะ Postgres ไม่รองรับ index-only scan สำหรับคิวรีที่มีการใช้ index merge"
- สำหรับคิวรี
SELECT count(*) FROM table WHERE int1000 = 1 AND int100 = 1
สามารถสร้างคอมโพสิตอินเด็กซ์ (int1000, int100) หรือสร้างอินเด็กซ์แยกสำหรับ int1000/int100 แล้วให้เมิร์จได้
- ทดสอบหลังจากสุ่มสร้างเรกคอร์ด 10 ล้านรายการ
- คอมโพสิตอินเด็กซ์ : 5ms
- อินเด็กซ์เมิร์จ : MySQL 30~40ms, Postgres 30~90ms
- หากกำลังใช้งาน Postgres ควรระมัดระวังการใช้ความสามารถ index merge
ยังไม่มีความคิดเห็น