Optimize MySQL ภาค 2 เขียนเมื่อ 2009.08.13 โดย

เนื่องจากการ Optimize ไม่มีสูตรตายตัว เพราะรายละเอียดต่างๆ ไม่เหมือนกันดังนั้นการ Optimize มีหลายแบบเพื่อนำไปใช้ให้เหมาะสมกับงานของเรา มาต่อในส่วนที่พอจะนึกออก

  1. พยายามใช้ Engine ให้เหมาะสมกับงาน ใน MySQL มี Engine ที่สำคัญที่เป็นที่นิยมอยู่ 2 ตัวคือ MyISAM และ InnoDB ซึ่งทั้ง 2 ตัวก็มีจุดเด่นต่างกัน MyISAM นั้นเหมาะกับงานที่มีการอ่านมากๆ เพราะถูกออกแบบให้สามารถอ่านได้เร็วมากๆ ส่วน InnoDB นั้นก็กลับกันคือเขียนเร็วมาก ดังนั้นอยู่ที่งานของเราว่ามีการใช้งานในส่วนใดมากกว่ากัน ส่วน InnoDB ยังมีความสามารถอื่นๆ เช่น Stored Procedure, Transaction และ Row-Level Lock อ่านเพิ่มได้ที่ ทำความรู้จักกับ INNODB Engine

  2. สร้าง Index ให้เหมาะสมโดยสร้างในฟิลด์ที่คุณใช้เป็น Clause ใน WHERE Clause, GROUP BY, ORDER BY และ JOIN เพื่อไม่ต้องให้เกิดการอ่านทั้งตารางเพื่อหาข้อมูลตรงตามเงื่อนไข

  3. ไม่ใช้ AUTO_INCREMENT โดยไม่จำเป็น ในการออกแบบตารางในบางครั้งไม่จำเป็นต้องมี PRIMARY KEY หรือ AUTO_INCREMENT ฟิลด์เสมอไปเช่นการออกแบบตารางเป็น many to many

  4. ใช้คำสั่ง Built-in ให้มากที่สุด เนื่องจากคำสั่งต่างๆ ถูก compile เป็น core engine ของ DBMS ทำให้ทำงานเร็วกว่าการคำนวนจาก Application ของคุณแน่นอน เช่นการนำข้อมูลจากตารางหนึ่งไปใส่อีกตารางก็สามารถใช้ INSERT ... SELECT แทนได้

  5. สุดท้ายจะรู้ความสามารถของสินค้านั้นๆ ต้องอ่านคู่มือในเว็บของผู้ผลิต แน่นอน http://dev.mysql.com (เขาไม่ได้ใช้ภาษายากเหมือนในนวนิยาย หรือราชาศัพท์หรอก)



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