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

truy cập đồng thời vào cơ sở dữ liệu MySQL bằng thủ tục được lưu trữ

Đầu tiên, như đã nêu trong một bài đăng khác, hãy sử dụng InnoDB. Nó là công cụ lưu trữ mặc định của MySQL 5.5 và mạnh mẽ hơn.

Thứ hai, hãy xem trang này: http:// dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html

Bạn nên sử dụng nút CHỌN ... CHO CẬP NHẬT để ngăn các kết nối khác đọc hàng bạn sắp cập nhật cho đến khi giao dịch của bạn hoàn tất:

START TRANSACTION;

SELECT value INTO @value
FROM mytable
WHERE id = 5
FOR UPDATE;

UPDATE mytable
SET value = value + 1
WHERE id = 5;

COMMIT;

Điều này tốt hơn là khóa bảng vì InnoDB thực hiện khóa mức hàng. Giao dịch ở trên sẽ chỉ khóa các hàng có id =5 ... vì vậy, một truy vấn khác hoạt động với id =10 sẽ không bị truy vấn này giữ lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn mysql để chuyển đổi động dữ liệu hàng thành cột

  2. html xem chi tiết thả xuống giá trị đã chọn không được chèn vào MYSQL

  3. Trộn một chuỗi với mysql / sql

  4. tìm kiếm mysql cho phân đoạn của tên bảng

  5. Làm cách nào để mysqli làm việc với DELIMITERs trong câu lệnh SQL?