MySQL command-line client (mysql) tự động hiển thị thời gian thực thi cho mỗi câu lệnh sau khi chạy xong, dạng (0.00 sec) hoặc (0.04 sec).
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
CREATE TABLE DemoTable1589 (EmployeeId INT, EmployeeName VARCHAR(20)); INSERT INTO DemoTable1589 VALUES (101, 'Sam'), (102, 'Bob'), (103, 'David');
Truy vấn SELECT:
SELECT * FROM DemoTable1589;
Kết quả hiển thị
+------------+--------------+ | EmployeeId | EmployeeName | +------------+--------------+ | 101 | Sam | | 102 | Bob | | 103 | David | +------------+--------------+ 3 rows in set (0.04 sec) <-- Thời gian thực thi
Các cách đo thời gian khác
1. Bật profiling (session)
SET profiling = 1; SELECT * FROM DemoTable1589; SHOW PROFILES;
Hiển thị: Query_ID, Duration, Query.
2. Performance Schema (MySQL 5.6+)
SELECT * FROM performance_schema.events_statements_history_long WHERE sql_text LIKE '%DemoTable1589%';
3. Slow Query Log
Cấu hình slow_query_log=1, long_query_time=1 — ghi log các query > 1 giây.
4. EXPLAIN ANALYZE (MySQL 8.0.18+)
EXPLAIN ANALYZE SELECT * FROM DemoTable1589;
Hiển thị thời gian thực tế của từng bước thực thi.
Lưu ý
- Thời gian hiển thị trên CLI bao gồm: network latency + parse + optimize + execute + fetch.
- Đo chính xác thời gian server: dùng
SHOW PROFILEhoặc Performance Schema. - Benchmark: Chạy nhiều lần, lấy trung bình, loại bỏ cold cache.