2012-04-19 4 views
0

내 쿼리에서 더 나은 성능을 얻기 위해 인덱스를 만든 테이블이 있습니다. 때로는 일부 행이 해당 테이블에서 삭제되고 새로운 행이로드됩니다. 내 질문은 다음과 같습니다.삭제로드 후 인덱스 다시 만들기

  1. 인덱스가 있고 파일에서 일부 데이터를 삭제하고로드하는 경우 인덱스를 다시 만들어야합니까?
  2. 그렇다면 어떻게 그 색인을 다시 만들 수 있습니까? 내가 그것을 놓고 새로운 것을 만들어야합니까?

UPDATE는 (SqlLoader 통해) 내가 열이 `idFile라는이 테이블 우리가 실행하는 쿼리에있는 파일에서

시스템로드 데이터는 해당 ID를 기반으로합니다. 로드 된 행을 검사 한 후 처리를 수행하고 일부 결과를 얻으며 행이 더 이상 필요하지 않습니다 (삭제합니다). 가끔 테이블에 약 1 천만 행이 생겨 쿼리를 최적화 할 수있는 인덱스가 더 많은 논리 아이디어 (나와 팀용)가되었습니다.

답변

2

색인을 다시 만들 필요가 없습니다.

한 번에 1,000 만 개의 행을로드하므로 인덱스를 삭제하고 데이터를로드 한 다음 색인을 다시 작성하여로드를 수행하는 것이 더 효율적일 수 있습니다.

+0

나는 그것을 얻지 않는다. 색인이있는 열의 유형을 지정하기 위해 내 질문을 업데이트 할 것입니다. 감사합니다. – BRabbit27

+1

@ BRabbit27 - 내 대답을 업데이트하고 간소화했습니다. –

+0

정말 고마워요. 때로는 더 나은 (때로는 더 간단한) 답변을 얻기 위해 내 문제에 대한 세부 정보를 제공하는 것을 잊어 버리는 경우가 있습니다. – BRabbit27