데이터베이스 테이블에 1,000 만 개의 행을 채우는 가장 빠른 방법은 무엇입니까? 기술에 대해서뿐만 아니라 가능한 한 빨리이 작업을 수행 할 수있는 특정 데이터베이스 엔진에 대해서도 묻고 있습니다.데이터베이스 테이블에 1000 만 행을 채우는 가장 빠른 방법
답변
SQL을 사용하여 많은 양의 데이터를 데이터베이스에로드하면 성능이 저하됩니다. 일을 빨리하려면 SQL 엔진을 사용해야합니다. 필자가 생각하는 Firebird를 포함한 대부분의 데이터베이스는 모든 데이터를 텍스트 (또는 XML) 파일로 백업하고 그러한 덤프 파일에서 전체 데이터베이스를 복원하는 기능을 가지고 있습니다. 복원 프로세스는 트랜잭션을 인식 할 필요가없고 데이터가 SQL로 표시되지 않기 때문에 대개 매우 빠릅니다.
수동으로 덤프 파일을 생성하는 스크립트를 작성한 다음 데이터베이스의 복원 유틸리티를 사용하여 데이터를로드하십시오.
약간의 검색을 수행 한 결과 정확히 FBExport을 찾은 것 같습니다. CSV 파일을 생성 한 다음 FBExport 도구를 사용하여 해당 데이터를 데이터베이스로 가져와야합니다.
MySQL 또는 MS SQL과 임베디드 함수를 사용하여 데이터베이스 엔진 내에서 레코드를 생성하거나 텍스트 파일 (cvs 형식)을 생성하고이 데이터를이 데이터 테이블에 채우지 않아도됩니다. 다음 대량 복사 기능을 사용합니다.
빠른 방법은 아마에서 SELECT가있는 INSERT SQL 문을 실행하고 있습니다. 나는 여러 번 다른 데이터베이스에서 테이블을 채우고도 동일한 데이터베이스에 테스트 데이터를 생성 한 하지만 그것은 모두 자신의 데이터의 특성과 가용성에 달려 있습니다. 제 경우에는 수집 된 데이터 행이 충분합니다. 임의의 행 선택 응용 프로그램을 사용하는 몇 가지 선택/삽입 루틴 진짜 데이터에 반하는 반 독창적 인 시험은 괜찮은 시험 데이터를 신속하게 산출했다. 테이블 데이터가 고유 테이블을 식별하는 데있어 중간 표와 빈도 분포 정렬을 사용하여 흔하지 않은 이름을 제거했습니다 (그룹 별 수가 2 이하인 경우 제거)
또한 Red Gate은 실제로 당신이 묻고있는 것을하기위한 유틸리티. 무료는 아니며 Sql Server와 관련 있다고 생각하지만 도구는 최고입니다. 비용의 가치가 있습니다. 무료 체험 기간도 있습니다.
돈이나 유틸리티를 사용하고 싶지 않으면 자신 만의 도구를 만들 수 있습니다. 그들이하는 일은 어떤 방법 으로든 마법이 아닙니다. 알맞은 개발자가 비슷한 기능의 알파/하드 코딩 된 버전의 앱을 하루나 이틀 만에 녹일 수 있어야합니다 ...
question에 대한 답변을 얻으실 수 있습니다. 방대한 CSV 파일을 SQL 서버 (2005) 데이터베이스에 업로드하는 방법을 살펴 봅니다. SQL Server의 경우 SSIS DTS 패키지가 데이터를 데이터베이스로 대량 가져 오기하는 가장 빠른 방법 인 것으로 나타났습니다.
전적으로 귀하의 DB에 따라 다릅니다. 예를 들어, 오라클은 직접 경로로드 (http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch09.htm)를 사용하여 인덱싱을 효과적으로 비활성화하고, 올바르게 이해하면 SQL을 보내지 않고 클라이언트 측에서 디스크에 쓰는 바이너리 구조를 만듭니다.
파티션 당 인덱스 분할 및 재구성과 결합하여 우리는 상대적으로 짧은 순서로 10 억 개의 행을로드 할 수있었습니다. 1 천만 행이 아무것도 아닙니다.
- 1. SQLite에서 테이블을 채우는 가장 빠른 방법은 무엇입니까?
- 2. HTML 테이블에 열을 추가하는 가장 빠른 방법
- 3. SQL에서 행을 복제하는 가장 빠른 방법
- 4. 데이터베이스 필드의 요약을 계산하는 가장 빠른 방법
- 5. 드롭 다운 목록 및 목록 컨트롤을 채우는 가장 빠른 방법
- 6. DataContext를 사용하여 LINQ 쿼리에서 DataTable을 채우는 가장 빠른 방법
- 7. Recordset 만 1000 레코드를 반환합니다.
- 8. SQL에서 2 행을 비교하는 가장 빠른 방법은 무엇입니까?
- 9. 데이터 테이블에 행을 추가하는 방법?
- 10. 필드가 ORACLE 테이블에 존재하는지 확인하는 빠른 방법
- 11. 개체에서 XPathDocument로 가장 빠른 방법
- 12. UIImageView의 행을 위로하여 UIScrollView를 채우는 방법
- 13. iPhone에서 이미지의 일부분 만 색을 채우는 방법
- 14. 가장 빠른 키 - 값 쌍 데이터베이스?
- 15. 자바 스크립트 가장 빠른 로컬 데이터베이스
- 16. PHP에서 배열에 숫자를 채우는 가장 빠른 방법은 무엇입니까?
- 17. 데이터베이스 테이블에 별명을 저장하는 방법
- 18. 효율적인 방법으로 db2 데이터베이스 행을 업데이트하십시오.
- 19. DateTime으로 검색하는 가장 빠른 방법
- 20. 레일로 돌아가는 가장 빠른 방법
- 21. 웹에서 가장 빠른 다운로드 방법
- 22. 가장 빠른 tr : 호버 방법
- 23. 가장 빠른 가져 오기 방법?
- 24. 빠른 처리를위한 가장 좋은 방법
- 25. 카이로를 시작하는 가장 빠른 방법
- 26. Maven을 배우는 가장 빠른 방법
- 27. IBATIS를 사용하여 INSERT를 수행하는 가장 빠른 방법
- 28. 삭제 성능에 계단식 : 1 행을 삭제하는 가장 빠른 방법은 무엇입니까?
- 29. Nexus 데이터베이스 테이블의 빠른 읽기
- 30. JS에서이 XML을 구문 분석하는 가장 빠른 방법
데이터베이스를 채우려는 데이터의 성격을 자세히 설명해 주시겠습니까? 정크 데이터 인 경우 더미 행을 삽입하기 위해 서버에서 함수를 실행하기 만하면됩니다.파일에 데이터가 포함 된 경우 공급 업체별 대량 가져 오기/bcp 도구를 고려하십시오. –
지금 가지고있는 것 : 파이어 버드 데이터베이스, 테스트 목적으로 데이터로 채우고 싶습니다. – luvieere