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

Làm thế nào để ngăn chặn tìm kiếm được chọn phá vỡ điều kiện cuộc đua?

Có một số vấn đề nhất định khi nói đến giao dịch và các mức độ cô lập khác nhau ít nhiều ngăn cản chúng. Tôi đã mô tả điều này trong câu trả lời của mình tại đây .
Một vấn đề như đọc ảo chẳng hạn, có thể ảnh hưởng đến kết quả của một lựa chọn giống như bạn đang thực hiện nó, vâng. Nhưng kết quả của SQL_CALC_FOUND_ROWS được lưu trữ ngay sau khi truy vấn kết thúc và bị mất ngay khi bạn thực hiện một truy vấn khác trong cùng một phiên. Đó là phần quan trọng. SQL_CALC_FOUND_ROWS bị ràng buộc phiên . Không có cách nào, kết quả của một truy vấn khác trong một phiên khác được lưu trữ trong phiên hiện tại của bạn. Việc sử dụng SQL_CALC_FOUND_ROWS không phụ thuộc vào điều kiện chủng tộc. Kết quả của truy vấn SELECT, có, nhưng không phải là kết quả của FOUND_ROWS (). Đừng nhầm lẫn điều này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi mysql2 của Ruby

  2. Cách xác thực thông tin đăng nhập của người dùng trong Android bằng PHP, MySql với sự trợ giúp của json

  3. Hàm Regex SQL tương tự như hàm MySql REGEX

  4. tổng mysql, với các ID hàng

  5. Tại sao tôi không gặp lỗi khi đặt độ dài kiểu dữ liệu INT lớn hơn trong MySQL?