จัดการดัชนีข้อมูล (Index) เพิ่มประสิทธิภาพการทำงานใน Business Central 2026 release wave 1

Dynamics 365 Business Central 2026 release wave 1 (เวอร์ชัน 28) เพิ่มความสามารถให้ผู้ดูแลระบบดูรายละเอียดการใช้งานดัชนี (indexes usage) และปิดดัชนีแบบ non-unique ที่มีการใช้งานต่ำได้ตามข้อมูลรายบริษัท ผ่านหน้าจอ Database Index Information ช่วยลดต้นทุนพื้นที่จัดเก็บ SQL และเพิ่มความเร็วในการเขียนข้อมูล โดยยังคงป้องกันดัชนีที่จำเป็น เช่น unique index, primary key, SIFT index และ SystemId index ไม่ให้ถูกปิด

เปิดตัวฟีเจอร์ปรับแต่งประสิทธิภาพฐานข้อมูลที่ทรงพลังใน Business Central Online เวอร์ชันล่าสุดตั้งแต่ มี.ค. 2026 โดยให้ผู้ดูแลระบบเรียกดูข้อมูลการใช้งานดัชนีแบบละเอียดต่อตาราง (Table indexes) และปิดการทำงานของดัชนี (index) แบบ non-unique ที่มีการใช้งานต่ำได้

ความสามารถนี้ช่วยให้มีการควบคุมประสิทธิภาพฐานข้อมูล การใช้พื้นที่จัดเก็บ และการทำงานเขียนข้อมูล (write operations) ได้ดียิ่งขึ้น โดยเฉพาะในสภาพแวดล้อมที่มีชุดข้อมูลขนาดใหญ่และปริมาณธุรกรรมสูง

ดัชนี (Index) คืออะไร

ดัชนี (Table/Database index) เป็นฟีเจอร์สำคัญในฐานข้อมูลเชิงสัมพันธ์ (relational database) อย่าง Microsoft SQL Server ที่ช่วยเร่งความเร็วในกระบวนการค้นหาข้อมูล การจัดทำดัชนีให้กับข้อมูลที่ถูกเรียกใช้บ่อย จะช่วยเพิ่มประสิทธิภาพโดยรวมของแอปพลิเคชันได้อย่างมาก

ตัวอย่างเช่น เมื่อผู้ใช้ต้องการดูข้อมูลบางอย่างในแอปพลิเคชัน ระบบจะรันคำสั่งค้นหาข้อมูล (query) เบื้องหลังเพื่อตอบสนองคำขอนั้น หากไม่มีดัชนี ระบบจะต้องไล่ตรวจสอบข้อมูลทีละเรคคอร์ดจนกว่าจะพบข้อมูลที่ต้องการ ซึ่งเป็นกระบวนการที่ใช้เวลานานและทำให้ประสิทธิภาพของแอปพลิเคชันช้าลง

แต่หากมีการทำดัชนีให้กับคอลัมน์ที่ถูกอ้างอิงบ่อยครั้ง ฐานข้อมูลจะสามารถเข้าถึงคอลัมน์นั้นได้โดยตรง แทนที่จะต้องไล่ตรวจสอบข้อมูลทั้งหมดในตาราง ซึ่งช่วยเพิ่มประสิทธิภาพและความเร็วโดยรวมของแอปพลิเคชันได้อย่างมีนัยสำคัญ

Index impact on Business Central performace

ทำไมการปรับแต่งดัชนีจึงสำคัญ

ดัชนีช่วยเพิ่มประสิทธิภาพการค้นหาข้อมูล (query performance) แต่ดัชนีทุกตัวก็สร้างภาระงานดูแลรักษา (maintenance overhead) เช่นกัน ทุกครั้งที่มีการเพิ่ม แก้ไข หรือลบเรคคอร์ด เอนจินฐานข้อมูล (SQL Server หรือ Azure SQL) จะต้องอัปเดตดัชนีที่เกี่ยวข้องทั้งหมดด้วย

ในระบบที่มีธุรกรรมสูง เช่น งานคลังสินค้า (inventory) โกดัง (warehouse) และการผลิต (manufacturing) ดัชนีที่ไม่จำเป็นอาจส่งผลให้เกิด:

  • ประสิทธิภาพการโพสต์เอกสารช้าลง
  • การใช้พื้นที่จัดเก็บ SQL เพิ่มขึ้น
  • ต้นทุนการดูแลรักษาดัชนีสูงขึ้น
  • ระยะเวลาสำรองข้อมูลและกู้คืนข้อมูลนานขึ้น

ด้วยการอนุญาตให้ผู้ดูแลระบบปิดการทำงานของดัชนีที่ใช้งานน้อย Business Central Online จึงมอบความยืดหยุ่นในการปรับแต่งประสิทธิภาพฐานข้อมูลได้มากขึ้น โดยไม่ต้องพึ่งการแทรกแซงทางเทคนิคที่ซับซ้อน ซึ่งแต่เดิมจะมีเพียงทีมวิศวะกรของไมโครซอฟท์เท่านั้นที่จะสามารถปรับแต่งเรื่องนี้ได้

การเรียกดูข้อมูลของดัชนี

ผู้ดูแลระบบสามารถเข้าถึงรายละเอียดของดัชนีได้โดยตรงผ่านหน้าจอในระบบ โดยเปิดหน้า Database Index Information จากหน้า Table Information ด้วยการเลือกตารางที่ต้องการ (เช่น ตาราง G/L Entry – 17)

Find table information
Table indexes information

ในหน้านี้จะแสดงรายละเอียดของแต่ละดัชนีจากเวอร์ชวลเทเบิล Database Index ที่เพิ่มเข้ามาใหม่ ซึ่งประกอบด้วยข้อมูลสำคัญ เช่น:

  • การใช้พื้นที่จัดเก็บ (Storage usage) ของแต่ละดัชนี
  • สถิติการใช้งานดัชนีของ SQL Server (SQL Server index usage statistics) เช่น จำนวนการอ่าน (Seeks/Scans) และการเขียน (Updates)
  • ประเภทของดัชนี (Index type) ว่าเป็นดัชนีที่กำหนดเองผ่าน AL (AL-defined) หรือดัชนีที่ระบบสร้างขึ้นเอง (system-generated)
Database indexes information

ข้อมูลเหล่านี้ช่วยให้ผู้ดูแลระบบตัดสินใจได้อย่างมีข้อมูลรองรับ ว่าดัชนีตัวใดมีการใช้งานต่ำและเหมาะสมที่จะปิดการทำงาน ก่อนดำเนินการในขั้นตอนถัดไป

วิธีปิดและเปิดการทำงานของดัชนี

ขั้นตอนการปิดการทำงานของดัชนีมีดังนี้:

  1. เปิดหน้า Table Information ใน Business Central
  2. เลือกตารางที่ต้องการ แล้วดูที่ Table No. เพื่อเข้าสู่หน้ารายละเอียด
  3. ระบบจะเปิดหน้า Database Index Information ซึ่งแสดงรายละเอียดของแต่ละดัชนี เช่น พื้นที่จัดเก็บ สถิติการใช้งาน (Reads/Writes) และประเภทดัชนี (กำหนดเองผ่าน AL หรือระบบสร้างขึ้นเอง)
  4. ในส่วน Indexes ยกเลิกการเลือกช่องทำเครื่องหมาย Enabled in Database สำหรับดัชนีที่ต้องการปิด หรือเลือกคำสั่ง Turn index off / Turn index off (all companies) เพื่อปิดในบริษัทเดียวหรือทุกบริษัทพร้อมกัน
Turn indexes off

การปิดดัชนีจะมีผลทันที ส่วนการเปิดดัชนีกลับมาใช้งานจะถูกจัดคิวไว้ทำงานในรอบเวลาที่ระบบกำหนดตอนเที่ยงคืน (scheduled midnight process) เพื่อลดผลกระทบต่อผู้ใช้งานในช่วงเวลาทำการ

Turn off indexes results

โดยหากต้องทำเปิดการทำงานของดัชนีอีกครั้ง ก็เพียงแค่เปลี่ยนเป็นคำสั่ง Turn index on / Turn index on (all companies)

ประเภทดัชนีที่ไม่สามารถปิดการทำงานได้

เพื่อปกป้องความสมบูรณ์และความสอดคล้องของข้อมูล (data integrity) ดัชนีต่อไปนี้ได้รับการป้องกันจากการถูกปิดใช้งานเสมอ:

ประเภทดัชนีเหตุผลที่ต้องป้องกัน
Unique Indexบังคับความไม่ซ้ำกันของข้อมูล จำเป็นต่อความถูกต้องของธุรกิจ
Primary Keyใช้ระบุตัวตนของแต่ละเรคคอร์ดในตาราง
SIFT Indexใช้คำนวณผลรวม/ยอดสะสมแบบเรียลไทม์ (Sum Index Flow Technology) ที่รายงานและหน้าจอจำนวนมากพึ่งพา
SystemId Indexใช้อ้างอิงเรคคอร์ดภายในระบบและการซิงค์ข้อมูลกับบริการอื่น

ซึ่งหากพยายามจะทำการปิดการทำงาน ระบบจะทำการแจ้งเตือนว่าเป็นดัชนีที่ไม่สามารถปิดการทำงานได้

Protected indexes that disable to turn off

พฤติกรรมการเปิด-ปิดใช้งานดัชนี

การจัดการดัชนีมีลำดับการทำงานที่แตกต่างกันไปตามการดำเนินการ:

  • การปิดดัชนี (Turn off): มีผลทันทีหลังยืนยันคำสั่ง
  • การเปิดดัชนี (Turn on): ถูกจัดคิวให้ทำงานในรอบ scheduled midnight process ของระบบ เพื่อหลีกเลี่ยงการสร้างดัชนีใหม่ (index rebuild) ซึ่งเป็นงานหนักในช่วงเวลาทำงานปกติ

หมายเหตุ: กลไกนี้ช่วยลดความเสี่ยงต่อการหยุดชะงักของผู้ใช้งาน (user downtime) และหลีกเลี่ยงผลกระทบต่อประสิทธิภาพในช่วงเวลาเร่งด่วน (peak-hour)

ผลกระทบทางเทคนิคต่อประสิทธิภาพของ Business Central

1. การเขียนข้อมูลเร็วขึ้น

ดัชนีทุกตัวต้องได้รับการอัปเดตเมื่อเรคคอร์ดมีการเปลี่ยนแปลง การปิดดัชนีที่ไม่ได้ใช้งานจะช่วยลดจำนวนการอัปเดตที่จำเป็น ส่งผลให้การทำงาน INSERT, UPDATE, DELETE เร็วขึ้น

2. ลดการใช้พื้นที่จัดเก็บ SQL

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

3. ประสิทธิภาพที่ดีขึ้นในช่วงธุรกรรมสูง

สภาพแวดล้อมที่มีปริมาณธุรกรรมสูง เช่น งานผลิต (Manufacturing), ธุรกิจค้าปลีก (Retail), การเชื่อมต่อ E-commerce และการจัดการคลังสินค้า (Warehouse Management) จะได้ประโยชน์จากภาระงานดัชนีที่ลดลงในระหว่างการโพสต์เอกสาร ตัวอย่างเช่น เมื่อโพสต์รายการ Item Journal จำนวนหลายพันบรรทัด การมีดัชนีน้อยลงหมายถึงงานดูแลรักษา SQL ที่น้อยลงตามไปด้วย

4. การดูแลรักษา SQL ที่ดีขึ้น

จำนวนดัชนีที่มากขึ้นจะเพิ่มภาระงานให้กับการอัปเดตสถิติ SQL (SQL statistics updates), การสร้างดัชนีใหม่ (index rebuilds) และงานบำรุงรักษาฐานข้อมูล (database maintenance jobs) การปิดดัชนีที่ไม่ได้ใช้งานจึงช่วยลดช่วงเวลาบำรุงรักษาและการใช้ทรัพยากรลงได้

กรณีศึกษา: AMCO ช่วยธุรกิจค้าปลีกลดขนาดฐานข้อมูลจาก 290 GB เหลือ 182 GB

ปัญหาที่ลูกค้าพบ

ลูกค้าเป็นธุรกิจค้าปลีกที่มีสาขาในเครือห้างสรรพสินค้าชื่อดังหลายแห่ง ใช้งาน Business Central แบบ Online (SaaS) มาแล้ว 3 ปี ฐานข้อมูลมีขนาดเติบโตอย่างรวดเร็วในอัตราประมาณ 9% ต่อเดือน จนแตะระดับ 300 GB สาเหตุหลักมาจากการบันทึกรายการขายที่แตกรายละเอียดในระดับลึก เนื่องจากธุรกิจต้องการคำนวณต้นทุนที่แท้จริง (actual cost) ของสินค้าแต่ละรายการอย่างแม่นยำ ส่งผลให้ตาราง Item Ledger Entry, Value Entry และ G/L Entry มีจำนวนเรคคอร์ดสะสมจำนวนมาก และเนื่องจากธุรกิจของลูกค้ามีการขยายตัวอย่างต่อเนื่อง ทำให้การเติบโตของฐานข้อมูลในอัตรานี้จึงเริ่มส่งผลกระทบต่อต้นทุนการดำเนินงานอย่างมีนัยสำคัญ

แนวทางที่ AMCO ดำเนินการ

ทีมที่ปรึกษาของ AMCO วิเคราะห์สถิติการใช้งานดัชนี (index usage statistics) ผ่านหน้า Database Index Information ในตาราง Item Ledger Entry, Value Entry และ G/L Entry เพื่อระบุดัชนีแบบ non-unique ที่มีการใช้งานต่ำแต่ใช้พื้นที่จัดเก็บสูง หลังจากยืนยันว่าดัชนีเหล่านี้ไม่ส่งผลกระทบต่อรายงานหรือหน้าจอที่ใช้งานบ่อย จึงดำเนินการปิดการทำงาน (Turn off) ดัชนีที่ไม่จำเป็นออกทั้ง 3 ตาราง กระบวนการวิเคราะห์และดำเนินการทั้งหมดใช้เวลาประมาณ 1 สัปดาห์

ผลลัพธ์หลังการดำเนินการ

หลังดำเนินการ ขนาดฐานข้อมูลลดลงจาก 290 GB เหลือ 182 GB หรือลดลงประมาณ 59.34% ช่วยลดต้นทุนพื้นที่จัดเก็บของ Business Central Online ได้อย่างมีนัยสำคัญ พร้อมทั้งช่วยชะลออัตราการเติบโตของฐานข้อมูลในระยะยาว โดยยังคงรักษาความสามารถในการคำนวณต้นทุนที่แท้จริงของสินค้าไว้ได้ครบถ้วนเช่นเดิม

Manage indexes result by AMCO Business Solutions

สรุปความสามารถในการจัดการดัชนีบน Business Central 2026 Release Wave 1

ความสามารถในการดูข้อมูลการใช้งานและปิดดัชนีแบบ non-unique ต่อบริษัทใน Microsoft Dynamics 365 Business Central 2026 release wave 1 (เวอร์ชัน 28) เป็นฟีเจอร์เสริมที่มีคุณค่าสำหรับผู้ดูแลระบบและที่ปรึกษาทางเทคนิค

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

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

เป็นฟีเจอร์สำคัญในฐานข้อมูลเชิงสัมพันธ์ (relational database) อย่าง Microsoft SQL Server ที่ช่วยเร่งความเร็วในกระบวนการค้นหาข้อมูล การจัดทำดัชนีให้กับข้อมูลที่ถูกเรียกใช้บ่อย จะช่วยเพิ่มประสิทธิภาพโดยรวมของแอปพลิเคชัน

ดัชนีแบบ non-unique คือดัชนีในฐานข้อมูลที่ยอมให้มีค่าซ้ำกันได้ ใช้เพื่อเร่งความเร็วในการค้นหาข้อมูล แต่ไม่ได้บังคับความเป็นเอกลักษณ์ของค่าเหมือนดัชนีแบบ unique

Unique index, primary key, SIFT index และ systemid index ได้รับการป้องกันไว้เสมอ เพื่อรักษาความถูกต้องและความสอดคล้องของข้อมูล

การปิดดัชนีมีผลทันทีหลังยืนยัน แต่การเปิดดัชนีกลับมาใช้งานจะถูกจัดคิวให้ทำงานในรอบ scheduled midnight process เพื่อหลีกเลี่ยงผลกระทบต่อผู้ใช้งานในช่วงเวลาทำการ

ฟีเจอร์การดูข้อมูลและปิดดัชนีแบบ non-unique เริ่มใช้งานได้ตั้งแต่ Microsoft Dynamics 365 Business Central 2026 release wave 1 (เวอร์ชัน 28) เป็นต้นไป

Posted in Dynamics 365 Business Central and tagged , , , , .