มาสร้าง Index ของตารางเพื่อเพิ่มความเร็วการประมวลผลกันเถอะครับ

"มาสร้าง Index ของตารางเพื่อเพิ่มความเร็วการประมวลผลกันเถอะครับ"

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

เทคนิคหนึ่งสำหรับการเพิ่มประสิทธิภาพการทำงานของโปรแกรมให้เร็วขึ้นคือ การทำ index ให้กับตารางแต่มีเงื่อนไขคือ Storage Engine ต้องเป็น InnoDB

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

การใช้คำสั่งเพื่อสร้าง index คือ ALTER TABLE $table ADD INDEX `index_1` USING BTREE ($field1,$field2,...,$fieldn);

ลองนำไปประยุกต์ใช้ดูครับ เราจะพบความเร็วของการเชื่อมโยงข้อมูลในหลายตารางได้อย่างไม่น่าเชื่อ

Suwat Khamtum
Software Team Leader
Sapphire Research and Development

Contact Us!

199/445 M.2 Nong-jom,
Sansai, Chiangmai,
Thailand 50210
Tel : 053-248985
Fax : 053-854907
Email : This email address is being protected from spambots. You need JavaScript enabled to view it.
facebook : Sapphire Research & Development
Location : 18.830784, 99.016745

Please publish modules in offcanvas position.