Tôi có một tập hợp các truy vấn SELECT
khá phức tạp sử dụng nhiều không gian đĩa (tôi thấy điều này từ df -h
khi đang chạy). Có cách nào để ước tính không gian đĩa tạm thời được yêu cầu cho truy vấn trước khi bắt đầu không??Làm thế nào để ước tính không gian đĩa tạm thời cần thiết cho truy vấn MySQL?
Trả lời
Bạn có thể sử dụng từ khóa EXPLAIN để mô tả cách kết nối của bạn sẽ ảnh hưởng đến số lượng hàng sẽ được kết hợp với nhau. Điều này cũng sẽ giúp bạn sử dụng đúng các khóa nếu chúng chưa có. Giải thích sẽ cho bạn biết khi nào nó nghĩ rằng nó sẽ cần phải sử dụng bảng tạm thời (không gian đĩa). Dựa trên kích thước của các hàng được nối, bạn có thể ước lượng khoảng không gian đĩa của bạn.
Xem các tài liệu trên giải thích ở đây:
http://dev.mysql.com/doc/refman/5.0/en/explain.html
Về cơ bản, mặc dù chỉ thêm "Giải thích" để chọn truy vấn của bạn để có được sản lượng thông tin. Tôi tin rằng bạn cũng có thể làm điều này theo chương trình nếu cần và sử dụng kết quả trong mã thực tế của bạn, ví dụ: bạn cần tính toán (ước tính) thời gian chạy truy vấn lớn và hiển thị nó cho người dùng trước khi tiếp tục.
- 1. Ước tính thời gian truy vấn trong SQL Server
- 2. Ước tính thời gian cho công việc
- 3. Để có được thời gian thực hiện truy vấn MYSQL trong Truy vấn
- 4. Thời gian thực hiện truy vấn MySql
- 5. Truy vấn MySQL cho thời gian GMT hiện tại
- 6. Làm thế nào để thiết lập quyền tạm thời cho các thuộc tính IOKit?
- 7. Số lượng Cao Bảng Đĩa Tạm thời của MySQL
- 8. Tính tổng thời gian thời gian trong MySQL
- 9. Có cần thả các bảng tạm thời trong mysql không?
- 10. Cách hết thời gian chờ truy vấn mysql ++ trong C++
- 11. Đo thời gian truy vấn MySQL thực tế
- 12. thời gian kỷ nguyên và MySQL truy vấn
- 13. Truy vấn mysql nhóm theo khoảng thời gian 15 phút
- 14. nguồn Mysql tạm thời không có
- 15. Ước tính thời gian tạo chỉ mục trong oracle
- 16. Lấy địa chỉ tạm thời - giải pháp cần thiết
- 17. Truy vấn MySQL: Thời gian dài ở trạng thái 'init'
- 18. Postgres Truy vấn thời gian thực hiện
- 19. Truy vấn MySQL để tính tháng trước
- 20. Truy vấn cập nhật MYSQL để xóa không gian
- 21. Làm thế nào để có được dấu thời gian Unix trong MySQL từ thời gian UTC?
- 22. Làm thế nào để làm truy vấn với các thiết lập múi giờ trong MongoDB
- 23. Dnspython: Thiết lập thời gian chờ truy vấn/toàn thời gian
- 24. Làm cách nào để ước tính thời gian tải xuống còn lại (chính xác)?
- 25. Mysql thời gian vấn đề chuyển đổi
- 26. Thời gian cần thiết cho một quá trình hoàn thành
- 27. Làm thế nào để tìm ra không gian tạm thời sẽ được yêu cầu bởi một truy vấn sql trên một cơ sở dữ liệu?
- 28. Làm thế nào để giảm bớt không gian bảng tạm thời trong oracle?
- 29. Phân trang MySQL mà không cần truy vấn kép?
- 30. Làm thế nào để tính toán khoảng thời gian giữa datetime trong MySQL?
Câu trả lời quá chung chung, tôi biết 'giải thích' là gì. Tôi nee một cách (hoặc một công thức) để ước tính sử dụng không gian đĩa tạm thời. –