• "คอมโพสิตอินเด็กซ์เร็วกว่าอินเด็กซ์เมิร์จ 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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น