>  기사  >  데이터 베이스  >  MySQL에서 쿼리 실행 시간을 어떻게 제한할 수 있나요?

MySQL에서 쿼리 실행 시간을 어떻게 제한할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-16 06:29:03672검색

How Can I Limit Query Execution Time in MySQL?

MySQL에서 쿼리 실행 시간 제한 적용

질문: 쿼리 실행 시간을 제한하도록 MySQL을 구성할 수 있나요? ?

답변: 역사적으로 MySQL에는 쿼리 실행 시간을 제한하는 내장 메커니즘이 없었습니다. 그러나 최근 MySQL 5.7 업데이트에는 MAX_EXECUTION_TIME 최적화 프로그램 힌트가 도입되었습니다.

MAX_EXECUTION_TIME 최적화 프로그램 힌트:

MySQL 5.7부터 SELECT 쿼리에 MAX_EXECUTION_TIME 최적화 프로그램 힌트를 포함할 수 있습니다. . 이 힌트는 지정된 시간 제한을 초과하는 경우 쿼리를 종료하도록 서버에 지시합니다.

SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;

서버 전체 시간 초과:

서버 전체 시간 제한이 필요한 경우 시간 초과 또는 SELECT 이외의 쿼리를 제한해야 하는 경우 제공된 원래 답변이 최선의 선택으로 유지됩니다.

Cron 작업 접근 방식:

원래 답변에서는 cron 작업 설정을 제안합니다. 미리 정의된 시간 제한을 초과하는 쿼리를 주기적으로 확인하고 종료합니다. 이 접근 방식에는 다음 단계를 실행하는 것이 포함됩니다.

  1. SHOW PROCESSLIST를 실행하여 실행 중인 프로세스 목록을 검색합니다.
  2. 쿼리 시간이 원하는 제한을 초과하는 프로세스를 식별합니다.
  3. 문제가 있는 프로세스를 종료하려면 KILL [프로세스 ID]를 사용하십시오.

추가 고려 사항:

MAX_EXECUTION_TIME 힌트는 편리하지만 SELECT 쿼리에만 적용되며 서버 수준에서는 시행할 수 없습니다. cron 작업 접근 방식은 모든 쿼리 유형에 걸쳐 시간 제한을 적용하기 위한 보다 강력한 솔루션을 제공합니다.

위 내용은 MySQL에서 쿼리 실행 시간을 어떻게 제한할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.