ไดเรกทอรีบทความ
- 在 MySQL เมื่อสร้างตารางใน คุณสามารถเลือกเอ็นจิ้นการจัดเก็บ
- มีเอ็นจิ้นการจัดเก็บข้อมูลที่แตกต่างกันหลายตัว แต่ที่นิยมใช้กันมากที่สุดคือ MyISAM และ InnoDB ซึ่งต่างกันทั้งหมด MySQL เวอร์ชันของเอ็นจิ้นการจัดเก็บข้อมูลเริ่มต้น
- หากไม่มีการระบุเอ็นจิ้นการจัดเก็บเมื่อสร้างตาราง เอ็นจิ้นเริ่มต้นของเวอร์ชัน MySQL จะถูกใช้
- ในเวอร์ชันก่อนหน้า MySQL 5.5.5 MyISAM เป็นค่าเริ่มต้น แต่ในเวอร์ชันหลัง 5.5.5 InnoDB เป็นค่าเริ่มต้น
ฐานข้อมูล MySQLความแตกต่างระหว่างประเภท MyISAM และประเภท InnoDB
- InnoDB ใหม่กว่า MyISAM นั้นเก่ากว่า
- InnoDB นั้นซับซ้อนกว่า ในขณะที่ MyISAM นั้นง่ายกว่า
- InnoDB เข้มงวดกว่าในเรื่องความสมบูรณ์ของข้อมูล ในขณะที่ MyISAM นั้นผ่อนปรนมากกว่า
- InnoDB ใช้การล็อกระดับแถวสำหรับการแทรกและการอัพเดต ในขณะที่ MyISAM ใช้การล็อกระดับตาราง
- InnoDB มีธุรกรรม แต่ MyISAM ไม่มี
- InnoDB มีคีย์ต่างประเทศและข้อจำกัดเชิงสัมพันธ์ ในขณะที่ MyISAM ไม่มี
- InnoDB มีความยืดหยุ่นในการแครชได้ดีกว่า ในขณะที่ MyISAM ไม่สามารถกู้คืนความสมบูรณ์ของข้อมูลในกรณีที่ระบบขัดข้อง
- MyISAM มีดัชนีการค้นหาแบบเต็มในขณะที่ InnoDB ไม่มี
ข้อดีของประเภท InnoDB
InnoDB ควรจัดลำดับความสำคัญของความสมบูรณ์ของข้อมูลเพราะจัดการความสมบูรณ์ของข้อมูลผ่านข้อจำกัดเชิงสัมพันธ์และธุรกรรม
เร็วกว่าในตารางที่เน้นการเขียน (แทรก อัปเดต) เนื่องจากใช้การล็อกระดับแถวและคงไว้เฉพาะการเปลี่ยนแปลงในแถวเดียวกันที่แทรกหรืออัปเดต
ข้อเสียประเภท InnoDB
- เนื่องจาก InnoDB จัดการความสัมพันธ์ระหว่างตารางต่างๆ ผู้ดูแลระบบฐานข้อมูลและผู้สร้างสคีมาจึงต้องใช้เวลาในการออกแบบโมเดลข้อมูลที่ซับซ้อนมากกว่า MyISAM
- ใช้ทรัพยากรระบบมากขึ้น เช่น RAM
- อันที่จริง หลายคนแนะนำให้ปิดเอ็นจิน InnoDB หลังจากติดตั้ง MySQL หากคุณไม่ต้องการมัน
- ไม่มีดัชนีข้อความเต็ม
ข้อดีของ MyISAM
- การออกแบบและสร้างง่ายกว่าจึงเหมาะสำหรับผู้เริ่มต้น
- ไม่ต้องกังวลกับความสัมพันธ์ภายนอกระหว่างตาราง
- โดยรวมเร็วกว่า InnoDB เนื่องจากโครงสร้างที่ง่ายกว่าและต้นทุนทรัพยากรเซิร์ฟเวอร์ที่ต่ำกว่า
- ดัชนีข้อความแบบเต็ม
- มีประโยชน์อย่างยิ่งสำหรับตารางแบบเน้นการอ่าน (เลือก)
ข้อเสียประเภท MyISAM
- ไม่มีการตรวจสอบความสมบูรณ์ของข้อมูล (เช่น ข้อจำกัดเชิงสัมพันธ์) ซึ่งเพิ่มความรับผิดชอบและค่าใช้จ่ายสำหรับผู้ดูแลระบบฐานข้อมูลและผู้พัฒนาแอปพลิเคชัน
- ไม่รองรับธุรกรรมที่จำเป็นในแอปพลิเคชันที่มีความสำคัญต่อข้อมูล เช่น การธนาคาร
- ช้ากว่า InnoDB สำหรับตารางที่แทรกหรืออัปเดตบ่อยๆ เนื่องจากทั้งตารางถูกล็อกไว้สำหรับการแทรกหรือการอัปเดตใดๆ
ประเภท MyISAM กับ InnoDB ประเภทไหนดีกว่ากัน
InnoDB เหมาะสมกว่าสำหรับสถานการณ์ที่สำคัญของข้อมูลที่ต้องการการแทรกและการอัพเดทบ่อยครั้ง
ในทางกลับกัน MyISAM ทำงานได้ดีกว่าในแอปพลิเคชันที่ไม่ต้องพึ่งพาความสมบูรณ์ของข้อมูลมากเกินไป มักจะเลือกและแสดงข้อมูลเท่านั้น
- หากคุณต้องการสนับสนุนธุรกรรม ให้เลือก InnoDB และเลือก MyISAM หากคุณไม่ต้องการธุรกรรม
- หากการดำเนินการตารางส่วนใหญ่เป็นแบบสอบถาม ให้เลือก MyISAM แล้วเลือก InnoDB เพื่ออ่านและเขียน
- อย่าเลือก MyISAM หากระบบขัดข้องทำให้การกู้คืนข้อมูลทำได้ยากและมีราคาแพง
ใช้ครั้งเดียวเว็บไซต์ WordPressวันหนึ่ง ชาวเน็ตบังเอิญค้นพบว่าฐานข้อมูลมีขนาดค่อนข้างใหญ่ แต่เว็บไซต์นี้มีบทความไม่ถึง 10 บทความ ฐานข้อมูลขนาดใหญ่เช่นนี้ไม่มีความหมาย
แล้วเริ่มมองหาเหตุผลและค้นหาphpMyAdminประเภทฐานข้อมูลแบ็กเอนด์แตกต่างจากไซต์ WordPress อื่นๆ
ไซต์นี้เป็นประเภท InnoDB ในขณะที่ไซต์ WordPress อื่น ๆ เป็นประเภท MyISAM
ประเภท InnoDB จะทำให้ขนาดฐานข้อมูลขยายได้หลายครั้ง ชาวเน็ตจึงตัดสินใจแปลงจากประเภท InnoDB เป็นประเภท MyISAM
คลิกลิงก์ด้านล่างเพื่อเรียนรู้วิธีที่ phpMyAdmin แปลงประเภทตารางข้อมูล InnoDB เป็นเอ็นจินเริ่มต้นของ MyISAM ▼
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "อะไรคือความแตกต่างระหว่างตารางฐานข้อมูล MySQL MyISAM และประเภท InnoDB?เปรียบเทียบและเลือกอันไหนดีกว่า" เพื่อช่วยคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-28165.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!