thời lượng mysql và thời gian tìm nạp


83

Tôi đang sử dụng bàn làm việc MySQL - Sự khác biệt giữa thời lượng và thời gian tìm nạp khi một truy vấn được chạy là gì?

Ngoài ra, có cách nào tôi có thể kích hoạt tùy chọn micro giây trong MySQL không?


Tiền thưởng kỳ lạ. Tất cả các câu trả lời đều đúng nhưng bạn không tin? Đâyđây là những câu trả lời giống hệt nhau từ Mike Lischke, người làm việc cho Oracle, trên diễn đàn mysql. Đủ tin cậy?
Hugo Delsing

Câu trả lời:


155

Thời gian tìm nạp - đo thời gian chuyển kết quả đã tìm nạp, không liên quan gì đến việc thực thi truy vấn. Tôi sẽ không coi nó là tùy chọn gỡ lỗi / tối ưu hóa truy vấn sql vì thời gian tìm nạp phụ thuộc vào kết nối mạng, bản thân nó không liên quan gì đến tối ưu hóa truy vấn. Nếu thời gian tìm nạp bị tắc nghẽn thì nhiều khả năng có một số sự cố mạng.

Lưu ý: thời gian tìm nạp có thể khác nhau trên mỗi lần thực thi truy vấn.

Khoảng thời gian - là thời gian mà truy vấn cần được thực hiện. Bạn nên cố gắng giảm thiểu nó khi tối ưu hóa hiệu suất của truy vấn sql.

Tài liệu tham khảo


5
Đối với các mục đích tối ưu hóa, hãy nhớ rằng tùy chọn query_cache_typephải có OFF, để kết quả không bị ảnh hưởng bởi bộ nhớ cache. Xem stackoverflow.com/questions/181894/…
dellasavia

6
Mặc dù tôi đồng ý rằng thời lượng là giá trị bạn thường muốn tối ưu hóa, vì nó liên quan trực tiếp đến hiệu quả truy vấn của bạn, thời gian tìm nạp cao bất thường cũng có thể chỉ ra các lỗi logic quan trọng và / hoặc sự kém hiệu quả. Ví dụ: bạn có thể đang chuyển một lượng lớn văn bản với mỗi truy vấn mà ứng dụng khách sẽ lưu vào bộ nhớ đệm. Hoặc bạn có thể quay trở lại 100k hàng khi bạn chỉ dự kiến 10
GrandOpener

1
điểm tốt @GrandOpener - hoặc bạn có thể thực hiện chọn (*) khi tất cả những gì bạn thực sự cần là ID hàng.
andrew lorien

Tôi đã bật hồ sơ trong MySQL và chạy một truy vấn. Sau đó, tôi đã kiểm tra cả Workbench và đầu ra hồ sơ. Thời lượng được Workbench báo cáo là 0,373, trong khi tổng Thời lượng từ trình biên dịch gần như không đạt 0,01. Điều đó có nghĩa là đầu ra Thời lượng trong Workbench KHÔNG phải là tổng lượng thời gian MySQL dành cho việc thực thi truy vấn?
Meglio

Điều này có vẻ không đúng. Tôi có hai truy vấn trả về các hàng giống nhau (15300) nhưng số liệu thống kê của chúng luôn khác nhau. một mất 14,443 giây Thời lượng / 1111,810 giây Tìm nạp và 443,986 giây Thời lượng khác / 0,0089 giây Tìm nạp mọi lúc. tại sao vậy?
Shahid

15

Thời lượng hiển thị thời gian cần thiết để thực hiện truy vấn và tìm nạp là thời gian cần thiết để đọc tập kết quả (truy xuất dữ liệu)

Tôi không chắc chắn về tùy chọn micro giây. Nếu điều này liên quan đến tối ưu hóa, hãy nhớ - "tối ưu hóa quá sớm là gốc rễ của mọi điều xấu"


0

Về micro giây, hãy thử bật nó trong menu Tùy chọn và tôi cũng đã nhận được câu hỏi về thời lượng và thời gian tìm nạp trước đó, bây giờ tôi có vẻ nhận được câu trả lời rằng thời lượng là thời gian thực thi của truy vấn và tìm nạp là truy xuất kết quả và gửi chúng đến bất cứ nơi nào bạn muốn. Ví dụ: tôi nhận được một truy vấn có thời lượng là 0,078 nhưng sẽ mất 60 giây để gửi dữ liệu trở lại trang web của tôi.


0

Thời gian thực thi là thời gian dành cho việc chuẩn bị truy vấn và chạy truy vấn VÀ Thời gian tìm nạp là thời gian dành để kéo vào các kết quả hàng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.