2012-11-26 4 views
1

10000 개의 행을 가진 Excel 파일을 읽으려고했습니다. 각 셀을 읽은 후, 내 응용 프로그램은 읽은 값이 데이터베이스에 존재하는지 확인해야합니다. 이것은 완벽하게 작동하지만 문제는 빈번한 데이터베이스 검사로 인해 응용 프로그램이 매우 느린 것 같습니다. 어떤 사람이 이것에 대한 더 나은 대안을 제시 할 수 있습니까? 내가 mysql과 codeigniter 프레임 워크를 사용하고 있습니다.빈번한 데이터베이스 연결을 피하십시오.

감사와 관련,

Tismon 당신은 그룹 Excel 파일에서 읽은 데이터를 수

+2

우리에게 코드 바랍니다 표시가 포함되어 무엇을! =) – MikroDel

+0

문제가있는 곳을 보려고 했습니까? 에코 문을 삽입하여 실행중인 코드 비트 또는 프로파일 러를 사용하여 느린 부분을 해결할 수 있습니다. 귀하의 경우에는 데이터베이스 쿼리, Excel에서 읽는 것, 데이터베이스 연결 일 수 있습니다. –

+0

코드를 보지 않고도 내 제안을 확신 할 수 없습니다. 그러나 내가 할 것이라고 DB를 쿼리 한 번 배열에 모든 결과를 스틱 및 배열에 대해 값을 확인하십시오. 그러나 나는 당신의 질문을 오해하고 있습니다. –

답변

0

.

Excel 파일에 "우편 번호"열이 있다고 가정 해 보겠습니다. 그런 다음 일련의 우편 번호를 만들어 10 개의 고유 한 우편 번호 목록을 만들 수 있습니다. 그런 다음 각 우편 번호에 대해 데이터베이스에 대해 10 개의 쿼리 만 수행하고 반환 된 목록을 Excel 파일의 그룹화 된 데이터와 비교하면됩니다.

1

10000 행을 읽는 것은 이러한 리소스를 많이 사용해서는 안됩니다. 실제로 응용 프로그램이 느려지는 것은 각 셀 읽기마다 전체 데이터베이스를 확인하는 것입니다. 그래서 당신은 그것을 피해야합니다.

가장 먼저하는 일은 다음과 같습니다. 업데이트 된 날짜/시간 필드를 각 행에 추가하고 업데이트 된 날짜/시간이 마지막 확인보다 최근 날짜 인 경우에만 전체 행을 확인하십시오.

어쨌든 더 자세한 정보를 표시하면 더 잘 도와 드리겠습니다. 응용 프로그램이 정확히 무엇을 체크해야 하는가에 대한

토크 또는 엑셀 파일

+0

OP는 행을 업데이트해야하는지 알 필요가 없습니다. 그는 그것이 존재 하는지를 알아야하기 때문에 새로운 칼럼은 의미가 없습니다. – Kai

+0

업데이트 된 필드 또는 셀은 기본적으로 해당 행을 검사하지 않았거나 이미 변경된 경우 응용 프로그램에서 다시 검사해야하므로 업데이트해야하는지 여부를 알 수 없습니다. 왜냐하면 내가 situatin 100 %를 인식하지 못하기 때문에 그의 문제는 어쩌면 그가 엑셀 파일을, 아마도 10 행을 업데이 트하지만, 다시 전체 파일 (각 셀)을 확인하고 데이터베이스 쿼리를하고있는 것 같아 – aleation

+0

미안 아직하지 않습니다 말이 되네. 새 열을 평가할 수 있으면 이미 열을 쿼리 한 것입니다. 어떻게하면 쿼리를 줄일 수 있습니까? – Kai

관련 문제