2011-02-11 5 views
1

대화 형 쿼리 양식에서 내 사용자가 잘못된 조인을하고 있으며 쿼리를 수행하는 동안 엄청난 양의 데이터가 생성되는 경우가 있습니다. 사용자가 일정량 이상의 메모리를 사용하지 못하게하려면 어떻게합니까?
쿼리 당 메모리 사용량을 제한하고 싶습니다 ...MySQL.MyISAM에서 사용자 당 메모리 사용을 제어하는 ​​방법이 있습니까?

mysql 5.5.8 myisam engine을 사용하고 있습니다.
감사합니다. Arman.

+0

도움이 될 수 있습니다. http://dev.mysql.com/doc/refman/5.0/en/memory-use.html –

답변

1

아니요, MySQL에는 사용자 별 메모리 할당량 기능이 없습니다.

단일 쿼리에서 사용할 수있는 메모리 양은 구성 할 수있는 많은 변수에 의해 결정됩니다. 조인 버퍼, 정렬 버퍼, 임시 테이블 등의 크기를 제한 할 수 있습니다. 이러한 제한은 모든 쿼리에 대해 전역 적입니다.

+0

감사합니다. 프로세스마다 메모리 사용량을 읽을 수 있습니까? – Arman

+0

프로세스마다 무엇을 의미합니까? MySQL 프로세스는 하나뿐입니다. –

+0

mysql 프로세스 당 : mysql에 processlist를 표시하면 쿼리 프로세스 ID를 볼 수 있지만 해당 프로세스 (mysql 내부 프로세스)의 메모리 사용량을 확인할 수 없습니다. – Arman

0

MyISAM이 스레드 단위로 제어한다고 생각하지 않습니다.

당신은 항상

SHOW PROCESSLIST 

를 사용하여 시간의 특정 기간 동안 실행 된 모든 프로세스를 종료 할 수 있습니다.

+0

제안 해 주셔서 감사합니다. 나는 사건에 의한 질의의 생애를 통제하고있다 : 5 시간 이상을 달리고있는 모든 직업은 죽는다. – Arman

관련 문제