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

Tất cả các cột của bảng nên được lập chỉ mục hay không cơ sở dữ liệu mysql?

Việc tạo chỉ mục yêu cầu thêm dung lượng đĩa và quá nhiều chỉ mục có thể gây ra sự cố phát sinh từ giới hạn kích thước hệ thống tệp, cần phải suy nghĩ cẩn thận để chọn đúng trường để lập chỉ mục.

Vì các chỉ mục chỉ được sử dụng để tăng tốc độ tìm kiếm trường phù hợp trong bản ghi, nên có lý do là các trường lập chỉ mục chỉ được sử dụng cho đầu ra sẽ chỉ đơn giản là lãng phí dung lượng đĩa và thời gian xử lý khi thực hiện thao tác chèn hoặc xóa, và do đó nên tránh. Cũng do bản chất của tìm kiếm nhị phân, tính chất bản chất hoặc tính duy nhất của dữ liệu là rất quan trọng. Việc lập chỉ mục trên một trường có số lượng là 2 sẽ chia dữ liệu thành một nửa, trong khi số lượng số lượng là 1.000 sẽ trả về khoảng 1.000 bản ghi. Với số lượng bản ghi thấp như vậy, tính hiệu quả bị giảm xuống loại tuyến tính và trình tối ưu hóa truy vấn sẽ tránh sử dụng chỉ mục nếu số lượng bản ghi lớn hơn 30% số bản ghi, khiến chỉ mục trở nên lãng phí không gian.

Vì vậy, tốt hơn nên thêm lập chỉ mục trên nhóm cộ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. Làm thế nào để lưu trữ nhiều giá trị trong một cột duy nhất sử dụng ít bộ nhớ hơn?

  2. Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' trong khi cố gắng cấp đặc quyền. Làm cách nào để cấp đặc quyền?

  3. MySQL:tổng mỗi ngày

  4. Các truy vấn cập nhật mysql có được hưởng lợi từ một chỉ mục không?

  5. Làm cách nào để chọn dữ liệu trong đó một trường có giá trị nhỏ nhất trong MySQL?