ตอน MVP ข้อมูลน้อย ระบบเลยไว. แต่พอใช้จริง ข้อมูลบวมขึ้นเรื่อย ๆ สิ่งที่ตามมาคือ "ความช้า" — และมันคืองานที่ dev ต้องมานั่งจูนต่อเนื่อง
สำหรับเจ้าของระบบที่เริ่มได้ยินคำบ่นว่า "ระบบช้าลง" หลังใช้ไปสักพัก — จะได้เข้าใจว่าเกิดอะไรขึ้นและทำไมต้องจูน
ตอนเริ่มมีข้อมูลหลักร้อย ระบบหาเจอไว. พอใช้จริงมีข้อมูลหลักแสน-ล้าน การค้นหาแต่ละครั้งช้าลงมาก. dev ต้องมานั่งจับตาว่า "คอขวด" อยู่ตรงไหน — หน้าไหน คำสั่งไหน ที่ทำให้ทั้งระบบหน่วง
ความผิดพลาดที่เจอบ่อยคือ เดาแล้วใส่ Index มั่ว ๆ — เผลอ ๆ ไม่ตรงจุด แถม Index เกินก็ทำให้ตอนบันทึกข้อมูลช้าลงอีก. ของจริงต้อง วัดก่อนว่าอะไรช้า แล้วค่อยลงมือ ทำเป็นรอบ ๆ ตามที่ข้อมูลโต. เครื่องมือหลักมีสามอย่าง: Indexing (ทำสารบัญให้ DB), ปรับ Query (ดึงเท่าที่ใช้จริง), รีดโค้ด/Cache (กันคำนวณซ้ำ)
ระบบที่คนใช้เยอะ = ใช้ทรัพยากร server เยอะ = ค่าใช้จ่ายบานปลายได้. ส่วนหนึ่งของงาน Optimize คือ คุมค่า server ไม่ให้บานปลาย — จูนให้ใช้ทรัพยากรเท่าที่จำเป็น ไม่จ่ายเกิน
AI ช่วย วิเคราะห์ว่าคอขวดน่าจะอยู่ตรงไหน, เสนอ Index ที่ควรเพิ่ม, และช่วยเขียน Query ที่ดีขึ้นได้ ทำให้จูนได้เร็วขึ้น. แต่การตัดสินใจ "แลกอะไรกับอะไร" (เช่น เร็วขึ้นแต่เปลืองพื้นที่) ยังต้องคนชั่งน้ำหนักตามบริบทจริง
ระบบเริ่มช้าตอนข้อมูลเยอะ ช่วยไล่ทีละขั้น: 1. หน้า/คำสั่งไหนน่าจะเป็นคอขวด 2. ควรเพิ่ม index ตรงคอลัมน์ไหน บอกเหตุผล 3. query ไหนเขียนใหม่ให้เร็วขึ้นได้ อย่าเพิ่งแก้ บอกแผนก่อน แล้วบอกว่าแต่ละข้อแลกกับอะไร (พื้นที่/ความเร็วตอนเขียนข้อมูล)
| ทำไมช้า | ข้อมูลบวม → ค้นหาช้าลง |
| จูนด้วย | Indexing · ปรับ Query · รีดโค้ด |
| Cost Optimize | คุมค่า server ไม่ให้บานปลาย |
| AI ช่วย | หาคอขวด/เสนอวิธี คนเคาะ trade-off |