รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

innodb กับ myisam มีข้อดี ข้อเสีย ต่างกันยังไง !!!

    InnoDB Database Engine เป็น Database Engine หนึ่งของ MySQL ที่เป็นที่นิยมเช่นเดียวกับ MyISAM เหตุผลหนึ่งที่ส่วนใหญ่นักเขียนโปรแกรมใช้ MyISAM คือความเร็วของการ Query แต่ InnoDB นั้นแม้ความเร็วจะสู้ไม่ได้แต่ก็ยังเป็นที่นิยม

    MyISAM
    ซึ่งมีความรวดเร็วในการอ่านและเขียนสูง เนื่องจากมีการจัดเก็บไว้ในรูปแบบของแฟ้มข้อมูล ซึ่งรองรับการอ่านaข้อมูลพร้อมๆ กันได้ (เหมาะสำหรับ Web Application) แต่อาจจะมีปัญหาเมื่อใช้งานกับระบบที่ต้องมีการอ่าน/เขียน ข้อมูลในตารางเดียวกัน พร้อมๆ กัน

    ที่สำคัญ ฐานข้อมูลประเภท MyISAM จะมีปัญหาเรื่อง Index เสีย และ Data Corrupt บ่อยมาก หากใช้งานใน OS ที่เป็น Windows และมีการ Shutdown อย่างไม่ถูกต้อง ซึ่งทำให้ผู้ดูแลระบบต้องมีการซ่อมแซม (repair table bad_table) ตารางทีมีปัญหาอยู่เรื่อยๆ

    InnoDB
    ข้อดีคือ รองรับการทำ Transaction รองรับการอ่านและเขียน พร้อมๆ กันได้ดีกว่าฐานข้อมูลประเภท MyISAM และยังมีระบบ Auto Data Recovery หากมีการ shutdown โดยไม่เหมาะสม (ไฟดับ)

    ซึ่งในการใช้งานผู้ใช้สามารถเลือกได้ว่าจะให้ตารางใดเป็นประเภท InnoDB หรือ MyISAM ขึ้นอยู่กับความเหมาะสม ว่าจะเลือกความเร็ว หรือ ประสิทธิภาพ

    สรุปความแตกต่างระหว่าง InnoDB กับ Myisam
    1. InnoDB มีข้อดีเหนือ MyISAM คือ การรองรับ Transaction, Foreign Key, มี Hash Lookup, และการ Lock ได้ถึงระดับ Row ทำให้สามารถเขียน (Insert/Update/Delete) ในเวลาเดียวกับการอ่าน (Select) ได้ ทำให้เกิดความเร็วไม่ต้องรอการเขียนเสร็จก่อนเช่นใน MyISAM

    ส่วนสำคัญอีกอย่างคือ InnoDB ได้แยกการทำดัชนี (index) ออกจากตารางข้อมูลและทำ Hashing ดัชนีไว้ด้วยเทคนิคนี้ทำให้การค้นหาเข้าถึงได้รวดเร็ว

    จากการทดสอบความเร็วนั้นการ Query ข้อมูลจากตารางน้อยๆ 2-3 ตาราง MyISAM สามารถทำความเร็วได้ดีกว่า แต่เมื่อมีการทำงานกับหลาย ตาราง >3 ตารางขึ้นไป โดยเฉพาะเมื่อมีข้อมูลหลายล้าน record ขึ้นไปนั้น InnoDB สามารถทำความเร็วได้ดีกว่า เพราะเทคนิคการทำ Hashing ดัชนีแยกไว้นั่นเอง

    2. InnoDB มีระบบทำ crash recovery ที่ดีกว่า MyISAM

    3. MyISAM ทำดัชนีแบบ FULLTEXT, GIS และ RTREE, มีการ Union Views, มีการบีบอัด และใช้ทรัพยากรน้อยกว่า InnoDB

    4. ข้อเสีย InnoDB หากหน่วยความจำไม่มากพอจะทำงานช้ากว่า MyISAM และ IndoDB เขียนลง Buffer Disk มากกว่า MyISAM

บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com