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

MySQL sử dụng tập tin trên cột TIMESTAMP được lập chỉ mục

Trong trường hợp này, MySQL không sử dụng chỉ mục của bạn để sắp xếp và đó là một điều TỐT. Bảng của bạn chỉ chứa 64k hàng, chiều rộng hàng trung bình là khoảng 26 byte (nếu tôi đã thêm kích thước cột vào bên phải), vì vậy tổng kích thước bảng trên đĩa phải vào khoảng 2MB. Rất rẻ khi chỉ đọc 2MB dữ liệu từ đĩa vào bộ nhớ (có thể là chỉ trong 1-2 thao tác đĩa hoặc tìm kiếm) và sau đó chỉ cần thực hiện sắp xếp tệp trong bộ nhớ (có thể là biến thể của quicksort).

Nếu MySQL thực hiện truy xuất theo thứ tự chỉ mục như bạn muốn, nó sẽ phải thực hiện 64000 hoạt động tìm kiếm đĩa, hết bản ghi này đến bản ghi khác! Nó sẽ rất, rất chậm.

Các chỉ mục có thể tốt khi bạn có thể sử dụng chúng để nhanh chóng chuyển đến vị trí đã biết trong tệp lớn và chỉ đọc một lượng nhỏ dữ liệu, như trong mệnh đề WHERE. Tuy nhiên, trong trường hợp này, đó không phải là ý kiến ​​hay - và MySQL không hề ngu ngốc!

Nếu bảng của bạn rất lớn (hơn kích thước RAM), thì MySQL chắc chắn sẽ bắt đầu sử dụng chỉ mục của bạn - và đây cũng là một điều tốt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra ràng buộc cho mysql

  2. Xampp Sẽ không khởi động máy chủ MySQL trên Mac OSX?

  3. Cách lưu trữ các ngày lặp lại mà hãy ghi nhớ Giờ tiết kiệm ánh sáng ban ngày

  4. Câu lệnh hợp nhất có sẵn trong MySQL không

  5. Các thuật ngữ truy vấn nhập csv MySQL sau đây có nghĩa là gì?