2010-02-04 5 views
3

필자는 20 백만 레코드가있는 51 개의 데이터베이스로 분할 된 CSV 미국 비즈니스 데이터베이스를 구입했습니다. 모든 데이터베이스는 하나의 상태를 나타냅니다.각 데이터베이스에 2 천만 개의 레코드 또는 50,000-300,000 개의 레코드가있는 51 개의 데이터베이스가있는 하나의 데이터베이스?

이 데이터베이스를 상태 및 다른 인수로 쿼리 할 ASP.NET MVC 웹 응용 프로그램을 작성해야합니다. SQL Server 데이터베이스를 만들고 51 개의 모든 csv 파일에 모든 레코드를 가져와야합니까? 아니면 csv 파일에 직접 쿼리해야합니까? 무엇이 가장 빠를 것입니까? 언제든지 다른 솔루션을 제안하십시오.

감사합니다.

답변

5

모든 레코드를 넣는 단일 데이터베이스를 만듭니다. 그러나 구조화 된 패션 오프쇼어링으로 수행하십시오.

예를 들어 '상태'테이블과 '비즈니스'테이블을 만들 수 있습니다. 이 두 테이블 간의 관계를 만듭니다. 데이터베이스를 표준화하십시오.

성능 데이터베이스를 가지려면 좋은 정규화 된 DB 스키마를 정의해야합니다. 필요한 색인을 추가하면 잘됩니다.

데이터베이스는 많은 양의 레코드를 처리 할 수 ​​있도록 설계되었습니다.

5

적절한 인덱스가있는 하나의 테이블. 2 천만 기록은 땅콩입니다.

1

큰 데이터베이스로 데이터를 가져옵니다. 테이블이 올바르게 인덱싱되는 한 쿼리를 수행 할 때 각 파일을 검색하는 대신 정확한 인덱스를 사용하여 작업 속도를 향상시킬 수 있어야합니다.

관련 문제