Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

MySQL Workbench bao gồm các công cụ khác nhau cho cả DBA và các nhà phát triển liên quan đến việc xem và cải thiện hiệu suất. Bảng điều khiển hiệu suất và báo cáo cho phép DBA dễ dàng xem hiệu suất của máy chủ tổng thể và các báo cáo khác nhau cung cấp các chế độ xem các điểm nóng IO, báo cáo SQL, mạng, công cụ dữ liệu, v.v. Đối với các nhà phát triển, MySQL Workbench cung cấp các chế độ xem dễ hiểu để tối ưu hóa các truy vấn và truy cập dữ liệu.

Bảng điều khiển hiệu suất

Bảng điều khiển hiệu suất cung cấp các chế độ xem "At A Glance" nhanh chóng về hiệu suất MySQL trên máy chủ chính, mạng và số liệu InnoDB. Đơn giản chỉ cần chuột qua các biểu đồ và hình ảnh khác nhau để có thêm chi tiết.

Báo cáo hiệu suất

Hơn 20 báo cáo giúp phân tích hiệu suất của cơ sở dữ liệu MySQL của bạn. Các báo cáo được nhắm mục tiêu làm cho việc phân tích các điểm nóng IO, báo cáo SQL chi phí cao, số liệu thống kê chờ đợi, số liệu động cơ InnoDB. MySQL Workbench tận dụng các chế độ xem SYS trên lược đồ hiệu suất.

Giải thích kế hoạch

Kế hoạch giải thích cho thấy các hoạt động MySQL thực hiện khi chạy các câu lệnh SQL. Thông tin này có thể giúp tối ưu hóa hiệu suất SQL. MySQLworkBench trực quan hóa các kế hoạch giải thích về mặt đồ họa và nêu bật cách các câu lệnh SQL thực thi trong MySQL. Bằng cách hiển thị chi phí của các nhà phát triển và gợi ý điều chỉnh, MySQL Workbench cải thiện và đơn giản hóa điều chỉnh hiệu suất câu lệnh SQL.

Thống kê truy vấn

Thống kê truy vấn cung cấp số liệu thống kê tức thời về SQL được thực hiện từ Trình chỉnh sửa Workbench, chẳng hạn như chi tiết về các trường trong tập kết quả của bạn và thống kê hiệu suất chính từ truy vấn của bạn, chẳng hạn như thời gian khách hàng, độ trễ mạng, thời gian thực hiện máy chủ, sử dụng chỉ mục, số lượng hàng được quét , tham gia, sử dụng lưu trữ dữ liệu tạm thời, và nhiều hơn nữa.

Tài nguyên bổ sung

  • Hướng dẫn video: Bản sao lưu doanh nghiệp MySQL sử dụng MySQL Workbench
  • Hướng dẫn video: MySQL Workbench
  • Các tính năng và lợi ích
  • Tải xuống MySQL Workbench Enterprise Edition

Datadog MySQL. ....

SELECT * FROM orders
WHERE YEAR(o_orderdate) = 1992 AND MONTH(o_orderdate) = 4
AND o_clerk LIKE '%0223';

Như được hiển thị trong hình sau, ví dụ truy vấn lần đầu tiên được thực thi trong trình soạn thảo SQL trực quan. Tiếp theo, một báo cáo giải thích được tạo bằng cách nhấp vào từ menu. Báo cáo ban đầu cho thấy hình ảnh giải thích trực quan với thông tin xuất hiện khi bạn di chuyển thiết bị con trỏ của mình qua bảng orders trong quét bảng đầy đủ.

Hình & NBSP; 7.9 & NBSP; DBT-3 Giải thích Hướng dẫn: Trực quan Giải thích với quét bảng đầy đủ

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Tùy chọn, bạn có thể chuyển sang bảng giải thích như hình tiếp theo cho thấy. Sử dụng danh sách thả xuống để chuyển đổi giữa các biểu diễn trực quan và bảng.

Hình & NBSP; 7.10 & NBSP; DBT-3 Giải thích Hướng dẫn: Giải thích về bảng với quét bảng đầy đủ

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Câu hỏi về truy vấn:

  • Tại sao truy vấn này tạo ra quét bảng đầy đủ?

  • Tại sao cột o_orderdate bị thiếu là một khóa có thể?

Nhìn kỹ hơn, cũng lưu ý rằng cột được lập chỉ mục đang được sử dụng trong một biểu thức là "WHERE YEAR(o_orderdate) = 1992 AND MONTH(o_orderdate) = 4", do đó chỉ mục không được sử dụng. Để sử dụng chỉ mục hiện có, bạn có thể điều chỉnh truy vấn như sau.

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';

Ví dụ truy vấn được cập nhật dẫn đến một hình ảnh giải thích trực quan trong đó Index Range Scan thay thế Full Table Scan được tạo bởi ví dụ truy vấn cuối cùng. Hai hình tiếp theo cho thấy các biểu diễn trực quan và bảng của ví dụ truy vấn đã được sửa đổi.

Hình & NBSP; 7.11 & NBSP; DBT-3 Giải thích Hướng dẫn

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql


Hình & NBSP; 7.12 & NBSP; DBT-3 Giải thích Hướng dẫn: Giải thích về bảng Anh

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Lưu ý sự khác biệt. Loại đã thay đổi từ ____10 thành

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
1, các khóa có thể (và khóa đã qua sử dụng) đã thay đổi từ
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
2 thành
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
3 và số lượng hàng được quét đã thay đổi từ 1,5 triệu thành khoảng 33 nghìn. Tuy nhiên, quét 33 nghìn hàng trong khi trả về chỉ 18 là không cần thiết, do đó, trọng tâm có thể chuyển sang cột
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
4. Ví dụ truy vấn tiếp theo (và Hình giải thích bảng) thêm chỉ mục sau đây sẽ cải thiện hiệu suất.

CREATE INDEX i_o_clerk ON orders(o_clerk);

Hình & NBSP; 7.13 & NBSP; DBT-3 Giải thích Hướng dẫn: Giải thích về bảng với Scan Range Scan và After Index

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Chỉ số mới không được coi là khóa có thể vì truy vấn đang tìm kiếm hậu tố của cột

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
4 và các chỉ mục không hoạt động với hậu tố (mặc dù chúng hoạt động với tiền tố). Thay vào đó, ví dụ đơn giản này có thể sử dụng toàn bộ ID nhân viên. Điều chỉnh truy vấn như sau cho thấy kết quả tốt hơn.

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE 'Clerk#000000223';

Các số liệu theo sau đại diện cho hiệu ứng của ví dụ truy vấn được cập nhật trong giải thích trực quan và giải thích bảng tương ứng.

Hình & NBSP; 7.14 & NBSP; DBT-3 Giải thích Hướng dẫn: Visual Giải thích với SCAN RANGE INDEX và Full ID

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql


Hình & NBSP; 7.15 & NBSP; DBT-3 Giải thích Hướng dẫn: Giải thích về bảng với Scan Range Range và Full ID

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Chỉ số

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
4 mới đã được xem xét và sử dụng, và truy vấn đã quét 1546 hàng thay vì 32642 và việc thực hiện truy vấn được cải thiện từ 0,281 lên 0,234 giây. Tuy nhiên,
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
7 ước tính rằng truy vấn này quét 1546 hàng để trả về 18. Sau khi xem lại truy vấn, hãy xem xét rằng chỉ số nhiều cột có thể đáp ứng các điều kiện của mệnh đề
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
8 dựa trên cả cột o_orderdate
SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
4 như câu lệnh tiếp theo cho thấy .

CREATE INDEX io_clerk_date ON orders(o_clerk, o_orderdate)

Ghi chú

SELECT * FROM orders
WHERE o_orderdate BETWEEN '1992-04-01' AND '1992-04-30'
AND o_clerk LIKE '%0223';
4 xuất hiện dưới dạng cột đầu tiên trong chỉ mục vì o_orderdate sử dụng một phạm vi.

Bây giờ, việc thực hiện truy vấn được điều chỉnh tạo ra kết quả thậm chí còn tốt hơn. Ước tính 18 hàng đều được quét và trả lại, và thời gian thực hiện của ví dụ truy vấn là 0,234 giây khi hình ảnh tiếp theo giải thích và giải thích bảng cho thấy.

Hình & NBSP; 7.16 & NBSP; DBT-3 Giải thích Hướng dẫn: Trực quan Giải thích với quét phạm vi chỉ số nhiều cột

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql


Hình & NBSP; 7.17 & NBSP; DBT-3 Giải thích Hướng dẫn: Giải thích bảng với quét chỉ số nhiều cột

Hướng dẫn how to check query performance in mysql workbench - cách kiểm tra hiệu suất truy vấn trong bàn làm việc mysql

Bảng theo sau tóm tắt kết quả của các sửa đổi được thực hiện cho truy vấn trong hướng dẫn này.

Bảng & NBSP; 7.2 & NBSP; DBT-3 Giải thích so sánh truy vấn hướng dẫn

Loại hìnhKhóa có thểChìa khóaHàng được quétThời lượng (giây)Thông tin thêmHàng trở lại
tất cả cácVÔ GIÁ TRỊVÔ GIÁ TRỊ1,50m1.201 Sử dụng ở đâu18
phạm vii_o_orderdatei_o_orderdate32642 0.281 Sử dụng điều kiện chỉ số; Sử dụng ở đâu18
phạm vii_o_orderdateSử dụng điều kiện chỉ số; Sử dụng ở đâu1546 0.234 Sử dụng điều kiện chỉ số; Sử dụng ở đâu18
phạm vii_o_orderdateSử dụng điều kiện chỉ số; Sử dụng ở đâu18 0.234 i_o_orderdate, i_o_clerk18


Làm cách nào để tối ưu hóa một truy vấn trong MySQL Workbench?

Tối ưu hóa lược đồ cơ sở dữ liệu..
Giới hạn số lượng cột: MySQL có giới hạn 4096 cột trên mỗi bảng. ....
Bình thường hóa bảng: Bình thường hóa giữ cho tất cả dữ liệu không dư thừa. ....
Sử dụng các loại dữ liệu phù hợp nhất: Có hơn 20 loại dữ liệu khác nhau trong MySQL được thiết kế cho các mục đích sử dụng khác nhau. ....
Tránh các giá trị null ..

Làm thế nào tôi có thể xem các truy vấn MySQL nào đang chạy chậm?

Xác định các truy vấn chậm trong MySQL..
Introduction..
Kiểm tra các truy vấn và quy trình hoạt động ..
Bật ghi nhật ký truy vấn chậm ..
Sử dụng mysqldumpslow để phân tích nhật ký truy vấn chậm ..
Sử dụng pt-query-D-toest để phân tích nhật ký truy vấn chậm ..

Làm cách nào để theo dõi hiệu suất MySQL?

6 công cụ hàng đầu để giám sát cơ sở dữ liệu MySQL..
Giám sát Sematext MySQL.Sematext là một giải pháp quan sát đầy đủ các khả năng giám sát MySQL.....
Công cụ quản lý và giám sát Percona (PMM) ....
Máy phân tích VividCortex MySQL.....
Màn hình doanh nghiệp MySQL.....
Datadog MySQL.....
Prometheus và nhà xuất khẩu MySQLD ..

Làm cách nào để tìm thời gian thực hiện truy vấn trong SQL Workbench?

Khi bạn thực hiện truy vấn trong Workbench.Khối Ouput được hiển thị. Khối đầu ra, có các cột (thời gian, hành động, tin nhắn, v.v.). Cột ngoài cùng bên phải là "thời lượng/tìm nạp" trong đó thời gian thực hiện được hiển thị.Ouput Pane is displayed. In Output Pane, there are columns (time, Action, message etc). The rightmost column is "Duration/Fetch" where duration of execution is displayed.