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

Lợi ích lớn nhất của việc sử dụng INDEXES trong mysql là gì?

Câu trả lời ngắn gọn:
Chỉ mục tăng tốc độ SELECT và làm chậm INSERT 'S.

Thông thường, tốt hơn là có các chỉ mục, vì chúng tăng tốc select nhiều hơn chúng làm chậm insert .

Vào một UPDATE chỉ mục có thể tăng tốc mọi thứ tăng lên nếu một trường được lập chỉ mục được sử dụng trong WHERE và làm chậm mọi thứ nếu bạn update một trong các trường được lập chỉ mục.

Làm cách nào để bạn biết khi nào sử dụng chỉ mục

Thêm EXPLAIN trước SELECT của bạn tuyên bố.
Như vậy:

EXPLAIN SELECT * FROM table1 
WHERE unindexfield1 > unindexedfield2 
ORDER BY unindexedfield3

Sẽ cho bạn biết MySQL sẽ phải thực hiện bao nhiêu công việc trên mỗi trường chưa lập chỉ mục.
Sử dụng thông tin đó bạn có thể quyết định xem có đáng để thêm chỉ mục hay không.

Giải thích cũng có thể cho bạn biết liệu tốt hơn nên giảm và lập chỉ mục

EXPLAIN SELECT * FROM table1 
WHERE indexedfield1 > indexedfield2 
ORDER BY indexedfield3

Nếu rất ít hàng được chọn hoặc MySQL quyết định bỏ qua chỉ mục (nó thực hiện điều đó theo thời gian) thì bạn cũng có thể giảm chỉ mục, bởi vì nó làm chậm insert của bạn s nhưng không tăng tốc select của bạn của.

Sau đó, một lần nữa, cũng có thể câu lệnh select của bạn không đủ thông minh.
(Xin lỗi vì sự phức tạp trong câu trả lời, tôi đã cố gắng làm cho nó đơn giản, nhưng không thành công).

Liên kết:
Chỉ mục MySQL - là gì các phương pháp hay nhấ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. Cách chèn một số lượng rất lớn các bản ghi vào cơ sở dữ liệu MySql nhanh nhất có thể

  2. Mysql so khớp ... so với đơn giản như% term%

  3. ĐẶT HÀNG THEO Truy vấn con cho GROUP BY để THAM GIA chuyển đổi

  4. Làm thế nào để có được bản ghi với giá trị tối đa trong MySQL

  5. Các câu lệnh chuẩn bị sẵn trong PHP ... Biến ràng buộc dưới dạng phạm vi số trong REGEXP?