• แนวทางการเข้าถึงดัชนี (IAM) เฉพาะสำหรับ PostgreSQL ที่ออกแบบมาเพื่อประมวลผลการค้นหาสตริงที่มี wildcard จำนวนมากได้อย่างรวดเร็ว
    • ชดเชยข้อจำกัดของ pg_trgm ที่ก่อให้เกิดการเข้าถึง heap ที่ไม่จำเป็นและการสูญเสียประสิทธิภาพในเชิงโครงสร้าง
  • ใช้ Bitmap Position Index ที่อิงตามตัวอักษรและตำแหน่ง เพื่อคัดกรองผลลัพธ์ผู้สมัครอย่างแม่นยำด้วยการดำเนินการบิตแมปในหน่วยความจำ
    • ไม่ต้องทำ heap recheck กับผลการค้นหา จึงตัด random I/O ที่ไม่จำเป็นออกไป
  • จัดการ prefix, suffix และ substring pattern ได้อย่างมีประสิทธิภาพผ่าน โครงสร้างดัชนีสองทิศทาง (positive / negative) ที่ทำดัชนีทั้งตำแหน่งด้านหน้าและด้านหลังของสตริง
  • แยก เส้นทางดัชนีเฉพาะสำหรับ ILIKE ภายในระบบ เพื่อรองรับการค้นหาแบบไม่สนตัวพิมพ์เล็ก-ใหญ่พร้อมได้ทั้งความแม่นยำและประสิทธิภาพ
  • ออกแบบมาให้รองรับไม่เพียงคอลัมน์เดียว แต่ยัง ประมวลผลเงื่อนไข LIKE หลายคอลัมน์ด้วยดัชนีเดียว ได้
    • วิเคราะห์ selectivity ของ pattern ในแต่ละคอลัมน์และจัดลำดับการทำงานใหม่โดยอัตโนมัติ
  • ให้ ผลการค้นหาแบบกำหนดแน่นอนที่ไม่เกิด false positive แม้ใน pattern ซับซ้อนที่มี % และ _ ปะปนกัน
  • ปรับปรุงความเร็วในการประมวลผลโดย ละเว้นการจัดเรียงที่ไม่จำเป็นแม้ใน aggregate query อย่าง COUNT และ EXISTS
  • อิมพลีเมนต์บนพื้นฐานของ Roaring Bitmap (CRoaring) เพื่อปรับการใช้หน่วยความจำให้เหมาะสมโดยอัตโนมัติตามความหนาแน่นของข้อมูล
  • แม้จะไม่รองรับ ORDER BY โดยตรง แต่สามารถทำงานร่วมกับ planner ได้อย่างเป็นธรรมชาติ เพื่อให้การจัดเรียงเกิดขึ้นหลังจากชุดผลลัพธ์มีขนาดเล็กลงแล้ว
  • ไม่รองรับ regex, การค้นหาความคล้ายคลึง, และ locale-based collation โดยแลกกับ การออกแบบที่มุ่งเน้นประสิทธิภาพเฉพาะทางสำหรับ LIKE / ILIKE

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

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