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

Phiên bản hàng cho MySql

Mysql không có cơ chế chuyển đổi hàng được tích hợp sẵn. Trong khi việc sử dụng loại dấu thời gian có vẻ ổn, bạn sẽ mắc lỗi này đối với các truy vấn cập nhật nhiều hàng đồng thời và mất nhiều thời gian hơn khi đó độ phân giải của dấu thời gian như giá trị được chỉ định dựa trên thời điểm bắt đầu thay đổi chứ không phải khi kết thúc sự thay đổi.

Vì vậy, nếu truy vấn cập nhật của bạn ảnh hưởng đến 100 hàng, tất cả các hàng sẽ có cùng một dấu thời gian (giả sử giá trị là 2015-10-28 09:47:10.123456). Tuy nhiên, có thể các hàng sẽ không được viết xong cho đến ngày 10 tháng 10 năm 2015 09:47:10.654321.

Nếu, một cách riêng biệt, bạn đang tìm kiếm tất cả các hàng đã thay đổi dựa trên một số dấu thời gian khác, (giả sử 2015-10-28 09:47:10.500000), bạn sẽ không nhận được kết quả mong muốn. Và tùy thuộc vào mã của bạn, bạn có thể bỏ lỡ 100 hàng đã thay đổi.

Thực tế là các thay đổi đối với các hàng bây giờ có thể có một dấu thời gian trong quá khứ mà bạn không thể đơn giản so sánh 2 dấu thời gian để có được tất cả các hàng đã thay đổ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. Cách chọn số lượng giá trị được nhóm theo phạm vi

  2. Chuyển đổi kết quả của một truy vấn MySQL

  3. Hiệu suất MySQL:nhiều bảng so với chỉ mục trên một bảng và phân vùng

  4. Xóa các bản sao dựa trên hai cột và giữ hàng có giá trị nhỏ nhất của một cột khác

  5. MySQL UNIX_TIMESTAMP dành cho PostgreSQL