Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao một mysqldump với một giao dịch nhất quán hơn một cái không có?

Vì kết xuất nằm trong một giao dịch, bạn sẽ có một cái nhìn nhất quán về tất cả các bảng trong cơ sở dữ liệu. Điều này có lẽ được giải thích tốt nhất bằng một ví dụ ngược lại. Giả sử bạn kết xuất một cơ sở dữ liệu có hai bảng, OrdersOrderLines

  1. Bạn bắt đầu kết xuất mà không cần một giao dịch nào.
  2. Một quy trình khác chèn một hàng vào Orders bảng.
  3. Một quy trình khác sẽ chèn một hàng vào OrderLines bảng.
  4. Kết xuất xử lý OrderLines bảng.
  5. Một quy trình khác xóa OrdersOrderLines hồ sơ.
  6. Kết xuất xử lý Orders bảng.

Trong ví dụ này, kết xuất của bạn sẽ có các hàng cho OrderLines , nhưng không phải Orders . Dữ liệu sẽ ở trạng thái không nhất quán và sẽ không khôi phục được nếu có khóa ngoại giữa OrdersOrderLines .

Nếu bạn đã thực hiện nó trong một giao dịch duy nhất, kết xuất sẽ không có thứ tự hoặc các dòng (nhưng nó sẽ nhất quán) vì cả hai đều được chèn vào và sẽ bị xóa sau khi giao dịch bắt đầu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết quả Mysql trong PHP - mảng hay đối tượng?

  2. Sử dụng LIMIT để phân trang kết quả trong truy vấn MySQL

  3. Quyền truy cập bị từ chối đối với người dùng root - mysql trên MAC OS

  4. Tính toán khoảng cách giữa các mã zip trong PHP

  5. Lấy địa chỉ ip của máy khách trong mysql