คำถามติดแท็ก innodb

InnoDB เป็น Storage Engine หลักที่สอดคล้องกับ ACID ที่ใช้ใน MySQL

5
MyISAM สำหรับการอ่านข้อมูล
ฉันมีตารางที่มีแถวประมาณ 1 พันล้านแถวและอ่านได้ 98% ฉันพยายามปรับฐานข้อมูลด้วยเอนจินการเก็บข้อมูลต่าง ๆ (MyISAM และ InnoDB) จากนั้นทำการทดสอบสองสามครั้งเพื่อดูประสิทธิภาพ ในส่วนที่ฉันมีรหัสคีย์หลักและดูเหมือนว่าตั้งแต่ MyISAM Key Cache เก็บดัชนีทั้งหมดในบัฟเฟอร์ของมันการใช้ MyISAM ดูเหมือนจะค่อนข้างเร็วเร็วกว่า InnoDB ประมาณ 2 เท่า แต่สำหรับ InnoDB มันดูช้าลง !! InnoDB ไม่ได้ใช้บัฟเฟอร์ใด ๆ เพื่อโหลดดัชนีล่วงหน้าหรือไม่
10 mysql  innodb  myisam 

2
ฐานข้อมูล MySQL InnoDB 'หยุด' ที่เลือก
ฉันพยายามแก้ไขการกำหนดค่า MySQL บนเซิร์ฟเวอร์ของเรา ข้อมูลเฉพาะของแอปของเราคือข้อมูลจำนวนมากถูกจัดเก็บไว้ในตารางเดียว (ปัจจุบันมีมากกว่า 300 ล้านแถว) ตารางนี้ใช้สำหรับแทรกบ่อยครั้ง (จะปรากฏตลอดเวลา) เมื่อฉันเรียกใช้แบบสอบถามแบบใช้เลือกข้อมูลบนตารางที่ใช้เวลานานกว่าสองสามวินาทีการแทรกทั้งหมด (กระทำอย่างแม่นยำ) กำลังรอการเข้าถึงตารางและทำให้แอปของเราไม่ตอบสนอง เท่าที่ฉันรู้ InnoDB ไม่ได้ล็อคใด ๆ บนโต๊ะเมื่อเลือกกำลังทำงานอยู่ เหตุใดตารางการเลือกบล็อกจึงเป็นเช่นนั้น ฉันพยายามหาเหตุผลด้วย innotop แต่ฉันไม่แน่ใจว่าจะตีความมันออกมาได้อย่างไรและจะค้นหาที่ไหน บอกสิ่งที่คุณต้องการและฉันจะโพสต์ที่นี่ +-----+---------+-----------+--------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+---------+-----------+--------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 1 | root | localhost | dbname | …
10 mysql  innodb  blocking 

1
MySQL: InnoDB: ข้อผิดพลาด: อายุของด่านสุดท้ายคือ X ซึ่งเกินความจุของกลุ่มบันทึก Y
ในสภาวะแวดล้อม MySQL ที่ใช้งานจริงข้อความแสดงข้อผิดพลาดต่อไปนี้จะถูกเขียนไป/var/log/mysql/error.logทุกนาทีที่สี่ 110723 18:36:02 InnoDB: ERROR: the age of the last checkpoint is 9433856, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the …
10 mysql  innodb 

2
ฉันควรรู้อะไรบ้างก่อนที่จะใช้งานฐานข้อมูล InnoDB
สิ่งที่เซิร์ฟเวอร์หรือผู้ดูแลระบบ DB ควรรู้และทำก่อนที่จะทำให้ฐานข้อมูล InnoDB พร้อมใช้งาน ฉันกำลังคิดเกี่ยวกับสิ่งต่าง ๆ เช่นการตั้งค่าที่ถูกต้องสำหรับinnodb_buffer_pool_sizeและinnodb_log_file_size ดังนั้นสิ่งใดที่คุณสามารถลืมกำหนดค่าที่จะทำให้แอปพลิเคชันที่ใช้ฐานข้อมูลทำงานน้อยลง
10 mysql  innodb 

2
แปลงตารางขนาดใหญ่จาก MyISAM เป็น Innodb
ฉันมีตารางที่มีแถวประมาณ 300 ล้านแถวในรูปแบบ MyISAM ฉันต้องการแปลงเป็น Innodb เป้าหมายดั้งเดิมของฉันคือลดการใช้งานโดยเปลี่ยน schema ของตารางให้มีดัชนีที่ง่ายขึ้น ฉันทิ้งตารางทั้งหมดทิ้งมันสร้างใหม่ด้วยดัชนีที่น้อยลงและตอนนี้ฉันก็นำเข้าอีกครั้ง อย่างไรก็ตามฉันลืมระบุว่าควรเป็น innodb แทนที่จะเป็น myisam ฉันสามารถทำตาราง ALTER มาตรฐาน ... ENGINE = INNODB ได้ไหม มีอะไรพิเศษที่ฉันควรระวังเกี่ยวกับตารางที่มีขนาดใหญ่เช่นนี้หรือไม่? การดำเนินการนำเข้าข้อมูลใช้เวลาประมาณ 12 ชั่วโมง - ฉันไม่กล้าทำเช่นนั้นอีก เหตุใดฉันจึงต้องการแปลงมัน
10 mysql  innodb 

1
MySQL (MariaDB) ล้มเหลวบ่อยครั้ง
ฉันเพิ่งย้ายเซิร์ฟเวอร์เก่าที่ใช้ MySQL ไปยัง VPS ใหม่ที่ใช้ MariaDB 5.5 ฉันไม่ได้ทำงานมากเกินไปบนเซิร์ฟเวอร์ (เพียงไม่กี่เว็บไซต์ PHP) และหน่วยความจำฟรีดูเหมือนว่าจะตกลง แต่ฐานข้อมูลยังคงล้มเหลว - บางครั้งทุกสองสามวันเวลาอื่น ๆ ภายในไม่กี่ชั่วโมง ฉันได้รับข้อผิดพลาดต่อไปนี้ในบันทึก: 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 128917504 bytes) 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 96681984 bytes) 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 72499200 bytes) 131231 1:43:04 [ERROR] …

3
ตาราง InnoDB ถูกล็อคระหว่าง mysqldump เมื่อผสมกับ MyISAM หรือไม่
ฉันกำลังมองหาโซลูชันสำรองสำหรับเซิร์ฟเวอร์ mysql ของฉันและฉันต้องการการหยุดทำงานน้อยลงเท่าที่จะทำได้ ฉันมีดังต่อไปนี้: เซิร์ฟเวอร์ MySQL พวกเขาจะไม่ทำซ้ำ แต่ละเซิร์ฟเวอร์ย่อมาจากของตัวเอง ตัวเลขนี้สามารถเติบโตได้ดังนั้นการตั้งค่าการจำลองแบบต้นแบบ / ทาสจะไม่เป็นความคิดที่ดี วิธีการสำรองข้อมูลที่ง่ายที่สุดที่ฉันเห็นคือการใช้ mysqldump กับซอฟต์แวร์เช่น "automysqlbackup" ข้อมูลที่สำคัญที่สุดของฉันคือใช้ InnoDB ตาราง InnoDB ของฉันค่อนข้างหนัก คำถามคือถ้าฉันทำ mysqldump กับฐานข้อมูลทั้งหมดในเซิร์ฟเวอร์มันจะล็อคตาราง Innodb ของฉันหรือไม่


1
การปรับ Mariadb - การเขียนช้า
พื้นหลัง: ฉันมีเว็บไซต์ที่ฉันกำลังย้ายจากเซิร์ฟเวอร์ MariaDB แบบสแตนด์อะโลนไปยังคลัสเตอร์ Galera MariaDB ส่วนนี้ทำให้ฉันแปลงตารางจาก MyISAM จำนวนมากเป็น InnoDB สำหรับสิ่งที่คุ้มค่าเว็บไซต์คือการติดตั้ง joomla ขนาดใหญ่ ส่วนปลายด้านหน้าของเว็บไซต์ทำงานได้ดี ไม่มีปัญหา ส่วนผู้ดูแลระบบช้าอย่างเจ็บปวดในการบันทึกอะไร - 25-30 วินาทีจากเวลาที่คุณกดบันทึกจนกว่าจะเสร็จสิ้น เซ็ตอัพเซ็ตอัพ 3 โหนด Galera - 12 คอร์ Intel (R) Xeon (R) CPU E5-1650 v4 @ 3.60GHz 64GB w SSD บน Raid HA Proxy สำหรับการทำโหลดบาลานซ์ /etc/my.cnf [mysqld] innodb_buffer_pool_siz=32Gb innodb_log_file_size = 2Gb innodb_flush_method=O_DIRECT …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.