ข้ามไปยังเนื้อหา
Data & Analytics

ClickHouse 26.10 ออกแล้ว เพิ่ม LATERAL JOIN ตัวดำเนินการ | และ IN subquery เทลงดิสก์ได้

ClickHouse 26.10 ออกเมื่อ 6 พ.ย. 2026 มี 104 ฟีเจอร์ 225 การเพิ่มประสิทธิภาพ เพิ่ม LATERAL JOIN เงื่อนไข JOIN อิสระ และให้ IN subquery เทลงดิสก์ได้

โดย กองบรรณาธิการ THAI DATA อ่าน 3 นาที ผู้เข้าชม 1

แชร์FacebookXLINELinkedIn
ClickHouse 26.10 ออกแล้ว เพิ่ม LATERAL JOIN ตัวดำเนินการ | และ IN subquery เทลงดิสก์ได้

สรุปประเด็นสำคัญ

  • 6 พฤศจิกายน 2026 ClickHouse ประกาศรุ่น 26.10 มี 104 ฟีเจอร์ใหม่ 225 การเพิ่มประสิทธิภาพ และ 739 การแก้บั๊ก
  • ฟีเจอร์ใหม่ที่ทีมงานเน้นคือตัวดำเนินการประกอบฟังก์ชัน | เพื่อให้ lambda อ่านง่าย LATERAL JOIN เงื่อนไข JOIN แบบอิสระ และการนำเข้าส่งออกไฟล์ SQLite
  • IN subquery เทชุดข้อมูลลงดิสก์ได้เมื่อหน่วยความจำไม่พอ ในตัวอย่างของทีมงาน ตั้งขีดจำกัดหน่วยความจำ 512 MiB แล้วคิวรีที่เคยล้มเหลวรันสำเร็จด้วยหน่วยความจำสูงสุด 203 MiB
  • GROUP BY กับคอลัมน์ LowCardinality เร็วขึ้นราว 30% (255 เหลือ 171 มิลลิวินาที) และ Top-K dynamic filtering อ่านแถวน้อยลงราว 94% ตามการทดสอบของผู้เขียนบทความต้นทาง

ClickHouse ประกาศรุ่น 26.10 เมื่อวันที่ 6 พฤศจิกายน 2026 ฐานข้อมูลวิเคราะห์แบบโอเพนซอร์สรุ่นนี้มี 104 ฟีเจอร์ใหม่ 225 การเพิ่มประสิทธิภาพ และ 739 การแก้บั๊ก ตามที่ทีมงานระบุ ฟีเจอร์เด่นของ ClickHouse 26.10 คือตัวดำเนินการประกอบฟังก์ชัน LATERAL JOIN เงื่อนไข JOIN แบบอิสระ และ IN subquery ที่เทชุดข้อมูลลงดิสก์ได้

ภาพปกบทความ ClickHouse release 26.10 จากบล็อกของ ClickHouse
ภาพปกบทความประกาศ ClickHouse release 26.10 จากบล็อกของ ClickHouse ภาพ: ClickHouse

ClickHouse 26.10 เพิ่มฟีเจอร์ SQL อะไรบ้าง

ฟีเจอร์ สิ่งที่ทำได้
ตัวดำเนินการประกอบฟังก์ชัน | ต่อฟังก์ชันเป็นสายงานแทน lambda ซ้อนกัน ใช้ _ และ _1, _2 ระบุตำแหน่งค่า ระบบแปลงเป็น lambda ปกติตอนวิเคราะห์คิวรี ผลการรันเท่าเดิม
โควตาจำนวนแถวที่เขียน มีตัวนับ written_rows จำกัดจำนวนแถวที่ผู้ใช้เขียนต่อช่วงเวลา เช่น 100,000 แถวต่อนาที
ฟังก์ชัน Array และ Map ใหม่ arrayMinIndex, arrayMaxIndex, arrayRemoveAt, mapRemove, mapEntries และ mapContainsKeyValue
การหารจำนวนเต็มแบบ SQL ตั้ง sql_compatible_division_for_integers เพื่อให้ 7 หาร 2 ได้ 3 เหมือน PostgreSQL ปิดไว้เป็นค่าเริ่มต้น
LATERAL JOIN รองรับ LATERAL JOIN
JOIN เงื่อนไขอิสระ JOIN ด้วยเงื่อนไขอะไรก็ได้ ไม่จำกัดแค่การเท่ากัน
SQLite นำเข้าและส่งออกไฟล์ SQLite
Freeform input format รูปแบบนำเข้าข้อมูลแบบอิสระ

ค่าตั้งการหารแบบ SQL มีประโยชน์เมื่อย้ายคิวรีจากฐานข้อมูลอื่นมายัง ClickHouse 26.10 เพราะ ClickHouse หารจำนวนเต็มแล้วได้ทศนิยมมาตลอด เมื่อเปิดค่านี้ การหารด้วยศูนย์จะเกิดข้อผิดพลาดแทนการคืนค่า inf และ view เดิมคงพฤติกรรมตอนที่สร้างไว้

ClickHouse 26.10 เร็วขึ้นและใช้หน่วยความจำน้อยลงแค่ไหน

ตัวเลขในหัวข้อนี้มาจากการทดสอบของทีมงานกับชุดข้อมูลราคาบ้านในอังกฤษและเวลส์ซึ่งมีประมาณ 30 ล้านรายการ บนเครื่องของผู้เขียนบทความ ไม่ใช่มาตรฐานกลาง ผลบนข้อมูลของแต่ละองค์กรจะต่างกัน

  • IN subquery เทลงดิสก์ได้ subquery ที่อ่านยอดขายเดิม 29.3 ล้านรายการใช้หน่วยความจำสูงสุด 1.96 GiB เมื่อลดขีดจำกัดเหลือ 512 MiB คิวรีหน่วยความจำไม่พอ หลังตั้ง max_bytes_before_external_set ที่ 128 MiB คิวรีรันสำเร็จด้วยหน่วยความจำสูงสุด 203 MiB
  • GROUP BY กับ LowCardinality ใน ClickHouse 26.10 ใช้เวลา 171 มิลลิวินาทีเทียบกับ 255 มิลลิวินาทีของรุ่น 26.9 ซึ่งเร็วกว่ากว่า 30% จากเวลาที่ดีที่สุดของแต่ละรุ่น
  • Top-K dynamic filtering ใน GROUP BY ขยายแนวคิดที่เริ่มในรุ่น 25.12 มาใช้กับ GROUP BY และข้าม granule ผ่าน primary index ในการทดสอบอ่านแถวน้อยลงราว 94% และข้าม granule ราว 3,500 ตัว
  • Columns cache (ทดลอง) เก็บข้อมูลคอลัมน์ที่ถอดรหัสแล้วไว้ในหน่วยความจำ ลดการคลายบีบอัดซ้ำ รองรับ MergeTree part แบบ wide
หน้าบทความ ClickHouse 26.10 release บนบล็อกของ ClickHouse ลงวันที่ 6 พฤศจิกายน 2026
หน้าบทความ ClickHouse release 26.10 บนบล็อกของ ClickHouse ลงวันที่ 6 พฤศจิกายน 2026 ภาพ: ClickHouse (ภาพหน้าจอ)
หน้า GitHub Releases ของ ClickHouse แสดง release v26.10.2.103-stable พร้อมไฟล์ติดตั้งของ ClickHouse 26.10
หน้า GitHub Releases ของ ClickHouse แสดง release v26.10.2.103-stable ภาพ: ClickHouse บน GitHub (ภาพหน้าจอ)

ทำไม ClickHouse 26.10 จึงสำคัญ

ClickHouse ออกรุ่นใหม่เดือนละครั้ง ClickHouse 26.10 ตอบปัญหาที่ผู้ดูแลระบบวิเคราะห์ข้อมูลเจอบ่อยสองเรื่อง คือคิวรีที่กินหน่วยความจำจนล้ม และการย้ายคิวรีจากฐานข้อมูลอื่นที่ผลลัพธ์ต่างกันเล็กน้อย การเทชุดข้อมูลลงดิสก์ทำให้คิวรีใหญ่ทำงานบนเครื่องที่หน่วยความจำจำกัดได้ ส่วนค่าตั้งการหารช่วยลดงานแก้คิวรี

ผลต่อองค์กรไทยที่ใช้ ClickHouse 26.10

  1. อ่านบันทึกการเปลี่ยนแปลงของ ClickHouse 26.10 ก่อนอัปเกรด โดยเฉพาะค่าตั้งที่เปลี่ยนพฤติกรรม และทดสอบกับคิวรีจริงบนข้อมูลสำเนา
  2. ทดสอบคิวรีหนักที่เคยล้มเพราะหน่วยความจำ ด้วย max_bytes_before_external_set ว่าช้าลงเท่าไรเมื่อเทลงดิสก์ และดิสก์รองรับการเขียนชั่วคราวหรือไม่
  3. วัดเอง ทดลอง GROUP BY ที่ใช้ LowCardinality กับข้อมูลจริง เพราะตัวเลข 30% เป็นผลบนชุดข้อมูลตัวอย่าง
  4. ทีมที่ย้ายจาก PostgreSQL หรือ SQL Server ลองเปิด sql_compatible_division_for_integers ในสภาพแวดล้อมทดสอบก่อน
  5. ตรวจฟีเจอร์ทดลองของ ClickHouse 26.10 เช่น columns cache ยังไม่ควรเปิดใช้ในระบบจริงโดยไม่ทดสอบ

ติดตามข่าวข้อมูลอื่น ๆ ได้ที่หมวด Data และดูข่าวบริการ ClickHouse Cloud ก่อนหน้านี้ได้ในเรื่อง JWT authentication กับ Okta และ Entra

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

องค์กรที่ติดตั้ง ClickHouse 26.10 ใช้เองต้องเลือกเครื่องที่มีซีพียู หน่วยความจำ และดิสก์เพียงพอต่อคิวรีวิเคราะห์ Dedicated Server ของ THAI DATA CLOUD ให้เซิร์ฟเวอร์ Intel Xeon ทั้งเครื่องสำหรับงานที่ต้องการประสิทธิภาพเต็มที่ พร้อม Root Access เต็มรูปแบบและไม่จำกัด Data Transfer (THAI DATA CLOUD เป็นผู้ดำเนินงานเว็บไซต์นี้)

คำถามที่พบบ่อย

ClickHouse 26.10 มีอะไรใหม่?

ClickHouse 26.10 มี 104 ฟีเจอร์ใหม่ 225 การเพิ่มประสิทธิภาพ และ 739 การแก้บั๊ก จุดเด่นคือตัวดำเนินการประกอบฟังก์ชัน LATERAL JOIN เงื่อนไข JOIN อิสระ การนำเข้าส่งออก SQLite IN subquery ที่เทลงดิสก์ และ GROUP BY ที่เร็วขึ้น

ClickHouse 26.10 ทำให้ IN subquery ใช้หน่วยความจำน้อยลงอย่างไร?

ตั้งค่า max_bytes_before_external_set เพื่อให้ ClickHouse เทชุดค่าของ subquery ลงดิสก์เมื่อใหญ่เกินเกณฑ์ ในตัวอย่างข้อมูลราคาบ้านอังกฤษ ที่จำกัดหน่วยความจำ 512 MiB คิวรีที่เคยหน่วยความจำไม่พอรันสำเร็จด้วยหน่วยความจำสูงสุด 203 MiB

sql_compatible_division_for_integers ใน ClickHouse 26.10 คืออะไร?

เป็นค่าตั้งที่ทำให้การหารจำนวนเต็มตัดเศษเหมือน PostgreSQL, SQL Server และ SQLite เช่น 7 หาร 2 ได้ 3 แทน 3.5 ปิดไว้เป็นค่าเริ่มต้น และ view เดิมคงพฤติกรรมที่สร้างไว้ ใช้ช่วยย้ายคิวรีจากฐานข้อมูลอื่น

ClickHouse 26.10 เร็วขึ้นเท่าไร?

ในการทดสอบของทีมงานกับข้อมูลราคาบ้านอังกฤษ GROUP BY หลายคอลัมน์ LowCardinality ใช้เวลา 171 มิลลิวินาทีจาก 255 มิลลิวินาทีของรุ่น 26.9 เร็วขึ้นกว่า 30% ส่วน Top-K dynamic filtering ใน GROUP BY อ่านแถวน้อยลงราว 94% ผลขึ้นกับข้อมูลและเครื่อง

แหล่งอ้างอิง

  1. ClickHouse release 26.10 — ClickHouse
  2. ClickHouse news and releases — ClickHouse

บุคคล องค์กร และสถานที่ในข่าวนี้

เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว

องค์กรและบริษัท
ClickHouse3GitHub98Intel62
ประเทศและสถานที่
สหราชอาณาจักร281
ผลิตภัณฑ์และเทคโนโลยี
PostgreSQL25SQL Server25
แชร์FacebookXLINELinkedIn

พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ