Có thể gán mức ưu tiên thấp hơn cho truy vấn trong MySQL tương tự như lệnh nice
trên dòng lệnh (trong Linux) không? Nếu không, có cơ sở dữ liệu nào có thể làm điều gì đó như thế không?Truy vấn có mức ưu tiên thấp trong Mysql
Trả lời
Bạn có thể sử dụng LOW_PRIORITY
hoặc HIGH_PRIORITY
trong các truy vấn của bạn tùy thuộc vào loại truy vấn mà bạn thực hiện:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] INTO ...
SELECT [HIGH_PRIORITY] * FROM ...
UPDATE [LOW_PRIORITY] table ...
Từ Mysql 5.7 documentation cho truy vấn INSERT
ví dụ:
Nếu bạn sử dụng Từ khóa LOW_PRIORITY, việc thực thi INSERT bị trì hoãn cho đến khi không có khách hàng nào khác đọc từ bảng. Điều này bao gồm các khách hàng khác bắt đầu đọc trong khi các khách hàng hiện có đang đọc và trong khi câu lệnh INSERT LOW_PRIORITY đang đợi. Do đó, có thể, đối với một khách hàng phát hành câu lệnh INSERT LOW_PRIORITY để chờ một thời gian rất dài.
Nhưng nó cũng cho biết:
này chỉ ảnh hưởng đến công cụ lưu trữ mà chỉ sử dụng bảng cấp khóa (ví dụ như MyISAM, bộ nhớ, và MERGE)
Vì vậy, bạn thắng' t có thể sử dụng chức năng này với ví dụ innodb
, trừ khi bạn muốn sử dụng LOCK_TABLES
và do đó làm giảm hiệu suất của nó.
Tôi [chỉ đọc ở đây trên dba stackexchange] (http://dba.stackexchange.com/a/56379/8378) rằng một truy vấn LOW_PRIORITY có thể không bao giờ chạy nếu DB của bạn luôn bận rộn chạy bình thường hoặc Truy vấn HIGH_PRIORITY ... vì vậy hãy suy nghĩ về thức ăn! –
Câu trả lời này cho biết bạn có thể sử dụng LOW_PRIORITY cho INSERT, SELECT và UPDATE. Ít nhất là MySQL 5.7, tùy chọn này không có sẵn cho các câu lệnh SELECT. Xem https://dev.mysql.com/doc/refman/5.7/en/select.html – ChrisInEdmonton
@ChrisInEdmonton Cảm ơn, tôi đã sửa câu trả lời của mình. Không thể có 'LOW_PRIORITY' trên các truy vấn' SELECT' (và không chỉ trong 5.7), [nhưng 'HIGH_PRIORITY' là] (https://dev.mysql.com/doc/refman/5.7/en/select.html) – julienc
- 1. Làm cách nào để khởi chạy quy trình có mức độ ưu tiên thấp? C#
- 2. Làm cách nào để khởi chạy từ Eclipse với mức độ ưu tiên Thấp trong Windows?
- 3. Cài đặt mức độ ưu tiên (ưu tiên) không có hiệu lực trên Linux
- 4. I/O ưu tiên thấp trong OS X
- 5. Chạy tác vụ ở chế độ nền với mức ưu tiên CPU thấp hơn
- 6. Mức trung bình của một số trong truy vấn Mysql
- 7. Tối ưu hóa truy vấn SELECT được nhúng trong mySQL
- 8. Cảnh báo về khoảng trống chỉ với các nhà khai thác ngắn mạch có mức ưu tiên thấp
- 9. Thư PHP() - Cách đặt mức độ ưu tiên?
- 10. Truy vấn MySQL - chúng thực sự đắt đến mức nào?
- 11. Có thể đặt mức độ ưu tiên của chuỗi trong Stream.parallel() không?
- 12. Tôi có thể đặt Powershell bắt đầu-công việc với ưu tiên thấp?
- 13. Thay đổi mức độ ưu tiên trong Log4j
- 14. Cách đặt Mức độ ưu tiên của IntentService trong Android
- 15. Groovy vấn đề ưu tiên
- 16. Cập nhật mức độ ưu tiên thấp trên MySQL bằng JDBC - cách kiểm tra xem chúng hoạt động như thế nào
- 17. COUNT có LIMIT trong truy vấn mysql
- 18. Tỷ lệ truy cập bộ nhớ cache bảng MySQL thấp
- 19. thư mysql truy vấn php đầu tiên! = [A-z]
- 20. mysql chậm trên truy vấn đầu tiên, sau đó nhanh chóng truy vấn liên quan
- 21. Các phương pháp được tải quá mức ưu tiên
- 22. Tôi có thể thay đổi mức ưu tiên của một quy trình trong Erlang không?
- 23. Truy vấn MySQL với JOIN và GROUP BY tối ưu hóa. Có thể không?
- 24. Có cách nào để đặt một Web Worker thành ưu tiên thấp không?
- 25. MySQL - Cách truy vấn này có thể được tối ưu hóa?
- 26. Tại sao hàng đợi không có mức ưu tiên tối đa có DECREASE-KEY?
- 27. phương pháp Tại sao quá tải có ưu tiên thấp hơn so với phương pháp dụ
- 28. Truy vấn Mysql Datediff
- 29. Truy vấn nhân Mysql
- 30. Caching Truy vấn MySQL
Bạn muốn giải quyết vấn đề nào? – VMai
MySQL đã ngược lại: _HIGH_PRIORITY cho phép mức độ ưu tiên cao hơn SELECT so với câu lệnh cập nhật bảng. Bạn chỉ nên sử dụng cho các truy vấn rất nhanh và phải được thực hiện cùng một lúc. Một truy vấn SELECT HIGH_PRIORITY được phát hành trong khi bảng bị khóa để đọc chạy ngay cả khi có một câu lệnh cập nhật đang chờ bàn miễn phí. Điều này chỉ ảnh hưởng đến các công cụ lưu trữ chỉ sử dụng khóa cấp bảng (chẳng hạn như MyISAM, MEMORY và MERGE) ._ nguồn: trang thủ công của [SELECT] (https://dev.mysql.com/doc/refman/5.6/en /select.html) – VMai