2012-12-17 5 views
0

1 대 다수 (관계가 많은 관계) 테이블이있는 데이터베이스를 단일 Excel 파일로 내보내는 경우 성능을 향상시키는 방법.엑셀로 SQL 서버 내보내기

지금 당장은 데이터베이스에서 모든 데이터를 가져 와서 루프 용 몇 개를 사용하여 테이블로 처리 한 다음 html 파일의 헤더를 변경하여 Excel 파일로 다운로드합니다. 하지만 내가 가지고있는 레코드 수 (약 300 레코드)에 걸리는 시간은 얼마입니까?

성능을 향상시키는 더 빠른 방법이 있다면 궁금합니다.

감사

당신이 당신의 C# 코드로 메모리에 각 테이블을로드하고 데이터를 통해 반복하여 평면 테이블을 만드는있는 것 같습니다
+0

여기에는 몇 가지 잠재적 인 문제가 있습니다. 몇 가지 질문 : 모든 것이 엑셀의 단일 워크 시트에 들어가야합니까, 아니면 여러 워크 시트를 작성하고 있습니까? 둘째, 왜 몇 개의 루프를해야합니까? 레코드 당 최소 1 개의 추가 쿼리를 실행하는 것 같습니다. 단일 워크 시트에 들어갈 경우 모든 쿼리를 단일 쿼리로 가져 오는 것이 좋습니다. 실제로하고있는 일과 예상되는 결과물에 대해 자세히 설명하십시오. – NotMe

+3

데이터를 어떻게 "내보내는 중"입니까? 단일 SQL 문에서 데이터를 비정규화할 수 있습니다. –

답변

1

. 그렇게하기위한 훨씬 간단하고 빠른 방법은 몇 가지가에서 조인이있는 SQL 쿼리를 사용하는 것입니다 : http://www.w3schools.com/sql/sql_join.asp

또한 http://en.wikipedia.org/wiki/Join_(SQL) 나는 결과 테이블을 html로 렌더링 한 다음 엑셀 파일로 저장한다는 인상을받습니다. 엑셀 (또는 csv) 파일을 먼저 html 테이블로 변환 할 필요없이 직접 만들 수있는 몇 가지 방법이 있습니다.

+0

해당 사용자에게 링크하지 마십시오. 좋은 소스가 아닙니다. http://w3fools.com/ – ANeves

+0

링크 변경 –

관련 문제