Cột được lọc trong MySQL giải thích
Nếu bạn đã tìm thấy chính mình trong thế giới MySQL (ít nhất là trong một thời gian ngắn), rất có thể bạn đã nghe nói về việc sử dụng EXPLAIN. Trong thế giới MySQL, từ khóa này ở khắp mọi nơi Show
một năm trước • 5 phút đọc Bởi Lukas VileikisMục lục Bạn đã bao giờ tìm kiếm lời khuyên về hiệu suất truy vấn chưa? . Bạn muốn biết những truy vấn của bạn làm gì ở cấp độ sâu hơn? . Bạn muốn biết truy vấn của mình sử dụng chỉ mục nào? . Sau khi đọc bài đăng trên blog này, bạn sẽ hiểu tầm quan trọng của từ khóa này (nếu bạn chưa hiểu) Cách sử dụng GIẢI THÍCHĐể sử dụng
Một truy vấn như trên sẽ tạo ra kết quả tương tự như sau
Như bạn có thể thấy, Đầu ra ở trên được lấy từ lệnh GIẢI THÍCH là gì?Trong thế giới MySQL,
Không còn nghi ngờ gì nữa, KHI NÀO SỬ DỤNG GIẢI THÍCHĐến bây giờ, bạn nên biết về sức mạnh của các truy vấn Sau khi bạn tự nói với các truy vấn của mình với Chỉ mục toàn văn + Tham giaNếu bạn muốn đảm bảo rằng các truy vấn của mình đang tham gia vào hoạt động phân vùngNếu bạn đã thêm phân vùng vào bảng của mình và muốn quan sát truy vấn nào sử dụng phân vùng nào, hãy quan sát cột Phím, phím có thể và độ dài phímKhi làm việc với các chỉ mục trong MySQL, hãy để ý đến các cột Kiểu dữ liệu cộtKhi thiết kế các truy vấn, hãy chú ý đến cột Giá trị Nghĩa systemBảng trống hoặc có một hàngconstGiá trị của cột có thể được coi là hằng số (có một hàng phù hợp với truy vấn)eq_refChỉ mục được nhóm lại và đang được sử dụng bởi thao tác (hoặc chỉ mục làEXPLAIN 5 hoặc EXPLAIN 6 với tất cả . Có lẽ kết quả tồi tệ nhất nếu bạn đang tối ưu hóa hiệu suất truy vấn trong MySQL hoặc MariaDBCác cột được so sánh với một chỉ mụcCột giới thiệu cũng rất quan trọng, đặc biệt nếu bạn muốn cải thiện hiệu suất truy vấn của mình bằng cách sử dụng các chỉ mục – cột này hiển thị các cột được so sánh với chỉ mục để hoàn thành một yêu cầu nhất định. giá trị của const có nghĩa là một hằng số, trong khi giá trị của func có nghĩa là giá trị được sử dụng được lấy từ một hàm Số hàng được truy cậpKhi thiết kế các chỉ mục bên trong các phiên bản cơ sở dữ liệu của bạn, hãy chú ý đến cột Hàng được lọcLọc cũng có thể là một cái gì đó đáng để theo dõi. Cột này cho biết tỷ lệ phần trăm gần đúng của các hàng trong bảng đang được lọc theo một điều kiện cụ thể Cột bổ sungĐể mắt đến cột EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 1MySQL sử dụng chỉ mục giảm dần để hoàn thành truy vấnEXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 2Bảng được truy vấn trốngEXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 3MySQL đang rà soát cơ sở dữ liệu để tìm bất kỳ giá trị riêng biệt nào có thể xuất hiện trong cộtEXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 4Truy vấn không có mệnh đề EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 5_______5_______6MySQL có thể sử dụng một chỉ mục nhất định để tối ưu hóa hoạt động của EXPLAIN SELECT * FROM demo_table WHERE demo_column = 'Demo Value'; 7
Tóm lượcCâu lệnh Cột được lọc trong giải thích MySQL là gì?Cột đã lọc biểu thị tỷ lệ phần trăm ước tính của các hàng trong bảng sẽ được lọc theo điều kiện bảng . Nghĩa là, rows hiển thị số hàng ước tính được kiểm tra và rows ×filter/100 hiển thị số lượng hàng sẽ được nối với các bảng trước đó.
Bộ lọc có thể được sử dụng trên kết quả truy vấn không?Truy vấn truy xuất hàng và cột từ bảng. Sau khi chạy truy vấn, bạn có thể giới hạn thêm số lượng mục được hiển thị trong biểu dữ liệu bằng cách áp dụng các bộ lọc. Bộ lọc là lựa chọn tốt khi bạn muốn tạm thời giới hạn kết quả truy vấn mà không cần vào Chế độ xem thiết kế để chỉnh sửa truy vấn của mình .
Câu lệnh nào không dùng để lọc dữ liệu trong MySQL?Có mệnh đề không lọc bản ghi mysql.
Câu lệnh nào bạn sẽ không sử dụng để lọc dữ liệu?CASE trong T-SQL là một biểu thức (không phải là "câu lệnh") - nó đánh giá một giá trị nguyên tử duy nhất - và như . |