Khi thực hiện một câu lệnh ALTER TABLE trong MySQL, toàn bộ bảng được khóa đọc (cho phép đọc đồng thời, nhưng cấm ghi đồng thời) trong suốt thời gian của câu lệnh. Nếu đó là một bảng lớn, các câu lệnh INSERT hoặc UPDATE có thể bị chặn trong một thời gian dài. Có cách nào để thực hiện "thay đổi nóng", như thêm một cột theo cách mà bảng vẫn có thể cập nhật trong suốt quá trình không?
Chủ yếu là tôi quan tâm đến một giải pháp cho MySQL nhưng tôi muốn quan tâm đến các RDBMS khác nếu MySQL không thể làm điều đó.
Để làm rõ, mục đích của tôi chỉ đơn giản là để tránh thời gian chết khi một tính năng mới yêu cầu cột bảng bổ sung được đẩy sang phiên bản sản xuất. Bất kỳ lược đồ cơ sở dữ liệu nào cũng sẽ thay đổi theo thời gian, đó chỉ là một thực tế của cuộc sống. Tôi không hiểu tại sao chúng ta nên chấp nhận rằng những thay đổi này chắc chắn phải dẫn đến thời gian ngừng hoạt động; đó chỉ là yếu.