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

Làm thế nào để diễn giải đầu ra của MySQL GIẢI THÍCH?

Trả lời câu hỏi của bạn:

  • possible_keys các chỉ số mà MySQL có thể muốn sử dụng và các khóa keys các chỉ số MySQL có thực sự sử dụng không? Vâng cái này đúng rồi.

  • Tại sao chỉ mục lại là index_status_mit_spam không được sử dụng? Trong truy vấn, các cột có cùng thứ tự như trong chỉ mục. SQL sử dụng thống kê trên các chỉ mục của bảng để xác định chỉ mục nào sẽ sử dụng. Thứ tự của các trường trong câu lệnh select KHÔNG có hiệu lực sử dụng chỉ mục nào. Thống kê xung quanh chỉ mục bao gồm thông tin như tính duy nhất của chỉ mục và những thứ khác. Các chỉ mục độc đáo hơn có thể sẽ được sử dụng. Đọc thêm về điều này tại đây: http ://dev.mysql.com/doc/innodb/1.1/en/innodb-other-changes-stosystem-estimation.html hoặc tại đây: http://dev.mysql .com / doc / refman / 5.0 / en // myisam-index-Statistics.html . Những yếu tố này xác định cách MySQL sẽ chọn một chỉ mục để sử dụng. Nó sẽ chỉ sử dụng MỘT chỉ mục .

  • Tại sao chỉ mục lại là index_datum không được sử dụng cho ORDER BY ? MySQL sẽ chỉ sử dụng một chỉ mục chứ không phải hai trong khi truy vấn vì việc sử dụng chỉ mục thứ hai sẽ làm chậm truy vấn hơn nữa. Đọc một chỉ mục KHÔNG phải là đọc bảng. Điều này liên quan đến hiệu quả hoạt động của truy vấn. Đây là câu trả lời có thể giải thích một số khái niệm:https://dba.stackexchange.com/questions/18528/performance-difference-between-clustered-and-non-clustered-index/18531#18531 Hoặc Thêm mệnh đề giới hạn vào truy vấn MySQL làm chậm nó đáng kể Hoặc Chỉ mục MySQL và khi nào nên nhóm chúng . Những câu trả lời này có rất nhiều chi tiết sẽ giúp bạn hiểu Lập chỉ mục MySQL.

  • Làm cách nào để tôi có thể tối ưu hóa chỉ mục bảng hoặc truy vấn của mình? (Truy vấn ở trên cần tối đa 3 giây để có khoảng một triệu mục nhập trong bảng). Vâng, có một tập tin ở đây có thể đang làm chậm bạn. Có thể bảng có quá nhiều chỉ mục và MySQL đang chọn sai.

Bạn cần hiểu rằng các chỉ mục tăng tốc độ đọc và làm chậm quá trình ghi vào bảng. Vì vậy, chỉ thêm các chỉ mục không phải lúc nào cũng là một ý kiến ​​hay. Các câu trả lời và gợi ý ở trên sẽ giúp bạn có được sự hiểu biết vững chắc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hệ thống thông báo sử dụng php và mysql

  2. MySQL IF NOT NULL thì hiển thị 1, còn lại hiển thị 0

  3. Lỗi jdbc thành MYSQL:Không tìm thấy trình điều khiển phù hợp cho jdbc:mysql:// localhost:3306 / test? user ='root' &password =''

  4. Doctrine:VỀ CẬP NHẬT KHÓA DUPLICATE

  5. Tại sao MySQL cho phép cập nhật cột NOT NULL thành NULL?