ฉันสามารถสร้างดัชนีบนโต๊ะในฐานข้อมูล MySQL ในขณะที่ใช้งานได้หรือไม่


21

และถ้าฉันทำได้เหตุผลใด ๆ (ประสิทธิภาพ / ความมั่นคง) ทำไมฉันไม่ควร?

คำตอบ:


17

โปรดทราบว่าหากตารางของคุณใช้เครื่องมือจัดเก็บ InnoDB Plugin (ซึ่งฉันขอแนะนำเป็นอย่างยิ่ง) หากเป็นดัชนีรอง (เกือบจะแน่นอน) คุณยังสามารถอ่านจากตารางได้ (เช่นไม่ใช่การบล็อกไปยังSELECTข้อความ)


1
อัพเดท MySQL 5.6 (กุมภาพันธ์ 2013): ตอนนี้คุณสามารถอ่านและเขียนลงในตารางด้วยออนไลน์ DDL - dev.mysql.com/doc/refman/5.6/th/en
Morgan Tocker

15

ใช่คุณสามารถ. มันจะล็อคตารางที่คุณเพิ่มดัชนีไว้ขณะที่กำลังสร้าง หากตารางมีขนาดใหญ่อาจใช้เวลาสักครู่เนื่องจากต้องอ่านแต่ละแถวในขณะที่สร้างดัชนี


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