ฉันควรรู้อะไรบ้างก่อนที่จะใช้งานฐานข้อมูล InnoDB


10

สิ่งที่เซิร์ฟเวอร์หรือผู้ดูแลระบบ DB ควรรู้และทำก่อนที่จะทำให้ฐานข้อมูล InnoDB พร้อมใช้งาน

ฉันกำลังคิดเกี่ยวกับสิ่งต่าง ๆ เช่นการตั้งค่าที่ถูกต้องสำหรับinnodb_buffer_pool_sizeและinnodb_log_file_size

ดังนั้นสิ่งใดที่คุณสามารถลืมกำหนดค่าที่จะทำให้แอปพลิเคชันที่ใช้ฐานข้อมูลทำงานน้อยลง

คำตอบ:


14

มีตัวเลือกการกำหนดค่าบางอย่างที่คุณควรพิจารณาก่อนเริ่มใช้งาน

ตราบใดที่คุณไม่ได้ใช้ myisam ที่ทุกท่านได้อย่างปลอดภัยสามารถจัดสรรเกือบทั้งหมด (เก็บพอที่จะมีระบบปฏิบัติการของคุณทำงานได้อย่างสะดวกสบายและเพียงพอสำหรับคุณmax_connections) innodb_buffer_poolหน่วยความจำของคุณไปยัง สิ่งที่ดีเกี่ยวกับ InnoDB คือสามารถจัดการหน่วยความจำได้เกือบทั้งหมดด้วยตัวเองโดยไม่จำเป็นต้องแยกสิ่งต่าง ๆ เช่นแคชแบบสอบถามคิวคีย์ ฯลฯ

ฉันขอแนะนำให้คุณเปิดใช้innodb_file_per_tableงานเพียงเพราะมันง่ายกว่ามากในการเรียกดูระบบไฟล์และดูว่าต้องการพื้นที่และตารางและฐานข้อมูลที่แตกต่างกันเท่าใด คุณจะยังคงจำเป็นต้องใช้ไฟล์ ibdata ทั่วไปสำหรับการใช้งานภายใน InnoDB 10M:autoextendแต่คุณก็สามารถกำหนดเป็น ไม่จำเป็นต้องกำหนดไฟล์ข้อมูล Innodb ที่แตกต่างกันจำนวนมากด้วยขนาดที่จัดสรรล่วงหน้า

innodb_log_file_sizeและการinnodb_log_buffer_sizeรวมกันจะต้องใหญ่กว่าสิบเท่าของวัตถุหยดที่ใหญ่ที่สุดของคุณหากคุณมีวัตถุขนาดใหญ่จำนวนมาก หากคุณไม่ (และคุณไม่ควร [ 1 , 2 ]) คุณไม่จำเป็นต้องยุ่งกับมันมากนัก ตรวจสอบMySQL Performance Blogสำหรับรายงานโดยละเอียดเกี่ยวกับวิธีการคำนวณ

และเมื่อคุณได้ใช้ MySQL ของคุณในขณะที่การตรวจสอบการตั้งค่าของคุณกับMySQLTunerหรือMySQL Tuning Primer

สำหรับรายงานรายละเอียดเพิ่มเติมลองmysqlreportและสำหรับการตรวจสอบสดตรวจสอบmytop


สิ่งหนึ่งที่ต้องจำไว้เกี่ยวกับ innodb_file_per_table คือวิธีการที่ใช้ในการกู้คืนพื้นที่ดิสก์นั้นแตกต่างกัน ด้วยไฟล์ ibdata คุณสามารถกู้คืนพื้นที่ใน tablespace ได้โดยการลบจุดสิ้นสุดของตาราง ด้วยพื้นที่ไฟล์ของตารางแต่ละตารางจะไม่ถูกกู้คืนโดยการลบหนึ่งจะต้องสร้างตารางใหม่ด้วยตารางปรับให้เหมาะสมเพื่อส่งคืนพื้นที่ไปยังระบบไฟล์ ปรับการล็อกตารางให้เหมาะสมและอาจทำให้เกิดการหยุดทำงานในแอปพลิเคชันของคุณ
mtinberg

2

"แปลกใจ" เล็กน้อยสำหรับฉันคือ Innodb ใช้ตามค่าเริ่มต้นหนึ่งไฟล์สำหรับฐานข้อมูล / ตารางทั้งหมด ตรงข้ามกับตาราง MyISAM ที่ใช้ไดเรกทอรีต่อฐานข้อมูลและไฟล์ต่อตาราง / tableindex

สิ่งนี้อาจสำคัญหากคุณคุ้นเคยกับการลดขนาดไฟล์ฟิสิคัลแบบตาราง (ปรับแต่งตาราง xxx)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.