2010-06-28 4 views
2

5 개의 간단한 열 (기본 자동 증가 ID, 제목 (varchar), bool 및 2 datetime의 기본 키)에 35 개의 행만있는 매우 간단한 테이블이 있습니다. . Google 팀에서 일할 때 Google 문서 도구에서 데이터를 가져와 TRUNCATE-> LOCK TABLE WRITE-> INSERT INTO (여러 줄) -> UNLOCK TABLE을 한꺼번에 수행 할 수 있도록 SQL 문으로 다시 말합니다. 다른 크고 복잡한 테이블에서는 매우 잘 작동하며 전체 프로세스가 1 초 내에 완료됩니다. 그러나 이것에 관해서, 그것은 끝내기 위해 항상 약 5 ~ 7 분이 걸린다. 문제는 다른 테이블에 대한 잠금을 트리거하고이 기간 동안 시스템이 기본적으로 작동하지 않는다는 것입니다.매우 느린 TRUNCATE와 함께 "서버가 바쁠 것 같습니다."httpd 로그에

시스템이 다운 된 동안> 전체 프로세스 목록 표시가 캡처되었습니다. 발견 한 내용 : - TRUNCATE가 200 초 이상 "사용 권한 확인"상태 코드로 오래 걸립니다. - 어떤 이유로이 문제가 발생하면 httpd 로그에 "서버가 사용 중입니다 ..."라고 표시되고 모든 프론트 인스턴스에서 Apache가 정지합니다.

저는 웹에서 비슷한 경우를 헛되이 찾으려고했습니다. 누군가가 우리에게이 하나에 대한 유용한 통찰력을 줄 수 있다면 그것은 정말로 우리의 삶을 구할 것입니다 ... 감사합니다!

  • DB 서버 :
  • 전면 서버 m2.2xlarge 인스턴스 @의 EC2 : EC2 @ m1.large 인스턴스
  • MySQL 버전 : 5.0.77
  • GUI 클라이언트 : phpMyAdmin을 3.2.3
  • DB 저장소 유형 : MyISAM

답변

1

매우 이상하게 들리 겠지만, DROP TABLE을 수행하고 해결할 수 있습니까? 이렇게하면 문제를 격리하는 데 도움이 될 수 있습니다.

관련 문제