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

Datetime so với Date and Time Mysql

Có sự khác biệt lớn về hiệu suất khi sử dụng trường DATE phía trên trường DATETIME. Tôi có một bảng với hơn 4.000.000 bản ghi và cho mục đích thử nghiệm, tôi đã thêm 2 trường với cả chỉ mục riêng của chúng. Một trường sử dụng DATETIME và trường khác sử dụng DATE.

Tôi đã tắt bộ đệm ẩn truy vấn MySQL để có thể kiểm tra đúng cách và lặp lại trên cùng một truy vấn cho 1000x:

SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; CHỈ SỐ NGÀY:197,564 giây.

SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; CHỈ SỐ NGÀY:107,577 giây.

Việc sử dụng trường được lập chỉ mục ngày đã cải thiện hiệu suất là: 45,55% !!

Vì vậy, tôi sẽ nói nếu bạn đang mong đợi nhiều dữ liệu trong bảng của mình, vui lòng xem xét tách ngày khỏi thời gian bằng chỉ mục của riêng chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn bản ghi Max và Min trong một lệnh MySQL

  2. Chọn tất cả các hàng có ít nhất một danh sách các tính năng

  3. Tính tổng kích thước dữ liệu của cột BLOB trong bảng

  4. App Engine và MySQL

  5. Tìm kiếm địa lý (Khoảng cách) trong PHP / MySQL (Hiệu suất)