데이터로드 성능을 향상시켜야합니다. 현재 algorythm 테이블에서 전체를 선택합니다 :데이터 삽입/업데이트 성능을 향상시키는 방법은 무엇입니까?
select Field1, Field2,...,FieldN from Table1 order by FieldM
새로운 데이터는 텍스트 파일에서 읽기 (예를 들어, 데이터 테이블 행 당 TEXTFILE 라인). 테이블에 기본 키가 있으며 두 개의 필드가 있습니다. 텍스트 파일의 각 행에 대해이 두 필드 (즉 기본 키)를 사용하여 필요한 행을 찾습니다.
query.Locate('Field1;Field2',VarArrayOf([Value1,Value2]),[]);
Locate
하면 반환 True
, 그것은 그렇지 않으면 새로운 하나를 추가, 행을 편집합니다.
테이블이 약 200000 개의 행으로 구성되어있는 한 각각의 Locate
작업에는 일정 시간이 걸리므로 초당 약 5-6 개의 행을 업데이트 관리합니다.
개선을 위해 고려해야 할 사항은 무엇입니까?
아마도이 위대한 선택을 통해 별도의 쿼리로 대체 할 것입니까?
이 솔루션은 로딩 시간을 4 시간에서 4 분 미만으로 단축 시켰습니다. 도와 주셔서 정말 고맙습니다. 고맙습니다! – horgh