Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - tôi có thể giới hạn thời gian tối đa được phép chạy một truy vấn không?

Cập nhật

Kể từ MySQL 5.7, bạn có thể bao gồm MAX_EXECUTION_TIME gợi ý về trình tối ưu hóa trong SELECT của bạn truy vấn để hướng dẫn máy chủ kết thúc nó sau thời gian được chỉ định.

Theo như tôi biết, nếu bạn muốn thực thi thời gian chờ trên toàn máy chủ hoặc nếu bạn quan tâm đến các truy vấn ngoài SELECT s, câu trả lời ban đầu vẫn là lựa chọn duy nhất của bạn.

Câu trả lời ban đầu

Không có cách nào để chỉ định thời gian chạy tối đa khi gửi truy vấn đến máy chủ để chạy.

Tuy nhiên, không có gì lạ khi có một công việc cron chạy mỗi giây trên máy chủ cơ sở dữ liệu của bạn, kết nối và thực hiện điều gì đó như sau:

  1. HIỂN THỊ DANH SÁCH XỬ LÝ
  2. Tìm tất cả các kết nối có thời gian truy vấn lớn hơn thời gian mong muốn tối đa của bạn
  3. Chạy KILL [id quy trình] cho từng quy trình đó


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_fetch_assoc ():đối số được cung cấp không phải là tài nguyên kết quả MySQL hợp lệ trong php

  2. Python From Scratch:Tạo một trang web động

  3. C # với tham số INSERT của MySQL

  4. Cách giám sát ProxySQL của bạn với Prometheus và ClusterControl

  5. 2 cách liệt kê tất cả các hàm trong MySQL