2012-02-04 2 views
0

2 개의 테이블이있는 테이블 중 하나는 고유합니다 ...이 테이블에는 112 000 000 개의 행이 있습니다 ... 단일 행의 쿼리를 선택하고 삭제하는 데 60 초가 걸립니다. 이것은 정상이며 실행 시간을 줄이는 방법이 있습니까?MySQL에서 큰 테이블을 최적화하는 방법

+2

300MHz 모뎀 연결을 통해 5.25 "플로피 디스크에서 데이터를 읽는 1MHz 마이크로 컨트롤러에 대한 쿼리를 실행 중이거나 실제로는 * 싫어하는 인덱스 – CAFxX

답변

0

DDL을 게시하십시오.

일반적으로 적절한 색인 생성을 원합니다.

실행 계획을 검토하십시오.

인덱스의 적절한 선택 항목이있는 단일 행 삭제의 경우 테이블 크기는 관련이 없어야합니다.

+0

@ user1189407"POST your DDL "은"DESC yourtablename "또는 더 나은"SHOW CREATE TABLE yourtablename "을 데이터베이스에 대해 출력하고 게시 –

0

가있을 수 있습니다 많은 이유는, 우리가 정보를 필요 : 열

  1. 유형 - 그들은 VARCHAR 텍스트이며, 지능?
  2. 쿼리는
  3. 당신은 어떤 인덱스를 가지고 있습니까 결과를 붙여
  4. 사용이 쿼리를 EXPLAIN 호출 할 및 복사?

대부분의 경우 적절한 색인이 없습니다. 당신이 그것들을 가지고 있다면, 그것들은 사용되지 않을 수도 있습니다. 예를 들어 id가 varchar이고 select *를 수행하려는 경우 varchar LIKE '% something %'그러면 varchar 열의 색인을 사용할 수 없습니다. 그래서 우리는 설명의 결과가 필요한 것입니다.

관련 문제