database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30591 게시물 읽기
No. 30591
MySQL index drop 질문이요
작성자
이광영(hyperhand)
작성일
2013-05-16 01:45
조회수
9,282

  CREATE TABLE `tbl_trend` (

  `FLD_DATE` char(14) NOT NULL,      -- 저장날짜
  `FLD_AGENT_ID` int(10) unsigned NOT NULL,   -- 에이전트 ID
  `FLD_CONVERTER_ID` tinyint(3) unsigned NOT NULL,   -- 컨버터 ID
  `FLD_CONTROLLER_ID` tinyint(3) unsigned NOT NULL,  -- 컨트롤러 ID
  `FLD_TAG_ADDRESS` smallint(5) unsigned NOT NULL,   -- 태그 주소
  `FLD_MAX` double NOT NULL,    -- 최대값
  `FLD_MIN` double NOT NULL,     -- 최소값
  `FLD_AVG` double NOT NULL,    -- 평균값
  `FLD_GUIDE_VALUE` double NOT NULL,   -- 설정값
  `FLD_IS_USE_GUIDE` tinyint(4) NOT NULL DEFAULT '0',
  KEY `IDX1_TBL_TREND` (`FLD_DATE`,`FLD_CONTROLLER_ID`,`FLD_TAG_ADDRESS`,`FLD_CONVERTER_ID`,`FLD_AGENT_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
DB 초짜 질문입니다.
DB는 MySQL입니다.
위와 같은 테이블에 약 8천만건의 데이터가 저장되어 있습니다.
그런데 select 속도가 너무 느려 인덱스를 다시 구성하기 위해
아래처럼 작성하여 인덱스 제거를 시도했습니다.
 
drop index tbl_trend idx1_tbl_trend on tbl_trend;
 
그런데 데이터량이 많아서 그런건지 2시간이 지나도 결과를 리턴하지 못하고 있습니다.
PROCESSLIST 테이블을 확인해보니 State에 'Wait for table metadata lock' 이라고 표시되어 있네요.
아직도 처리중인듯 한데 계속 기다려봐야 하는건가요?
이 글에 대한 댓글이 총 4건 있습니다.

LOCK 잡고 있는 process가 있어서 해당 lock이 풀리기를 기다리는 상태 입니다.

lock 잡은 프로세스를 확인 하시고 kill해도 되는 거면 kill하시고 진행하세요.

박인호(paerae)님이 2013-05-16 09:41에 작성한 댓글입니다.

 drop index 하기 전까지는 lock 걸린 프로세스가 없었습니다. 오히려 drop index가 lock을 걸고 있어서 다른 프로세스의 실행을 대기시켜놓고 있는 상태처럼 보입니다.

이광영(hyperhand)님이 2013-05-16 12:23에 작성한 댓글입니다.

그럼 동일 스키마로 복제 테이블을 만들고

rename  하는 방법으로 처리하시는 것이 좋을 듯 보입니다.

안전을 위해 서비스를 rename하는동안 내렸다가

올려야 할 것 같습니다.

 

보통 이런 문제때문에

서비스 운영중에는 대용량DB에 대해 alter를 하시면 안됩니다.

박인호(paerae)님이 2013-05-16 14:44에 작성한 댓글입니다.

 아 그렇군요.

혹시 해당 테이블에 트랜잭션이 걸려서 그런거일 수도 있나요?

닷넷 클라이언트측에서 트랜잭션을 걸어놓고 로직을 진행하다가 예외가 발생해서

Commit 이나 Rollback을 행하지 못하고 빠져나와서 그럴수도 있지 않을까 생각이 들어서요.

이광영(hyperhand)님이 2013-05-16 16:25에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30594centos mysql 세그멘테이션 오류가 나는데요 ㅠㅠ 헬프미 [1]
구리드
2013-05-20
9853
30593my.ini 질문좀 드릴께요~ [1]
김민균
2013-05-19
8796
30592query: 0.031 sec. (+ 3.339 sec. network) 뜻? [1]
최진안
2013-05-16
10013
30591MySQL index drop 질문이요 [4]
이광영
2013-05-16
9282
30590쿼리 질문이요. [2]
이광영
2013-05-15
8914
30589select 속도 질문 [4]
이광영
2013-05-15
9062
30588클러스터 디비를 사용하는데요 autoincrement값이 튀네요.
클러스터
2013-05-08
8721
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다