큰 파일 (> 3GB)에서 데이터를 읽는 C 프로그램을 작성했습니다. 파일의 각 레코드는 키 - 값 쌍입니다. 쿼리가 올 때마다 프로그램은 키를 검색하여 값을 업데이트하는 것과 마찬가지로 해당 값을 검색합니다.
쿼리가 빠른 속도로 처리되므로이 기술이 결국 실패합니다. 최악의 액세스 시간이 너무 깁니다. 인 메모리 객체를 생성하는 것은 크기 때문에 다시 나쁜 아이디어가 될 것입니다.
이 문제를 해결할 수있는 방법이 있습니까?C의 큰 파일에 대한 I/O 최적화
1
A
답변
5
분명히 그 이름의 파일을 묶는 크기의 파일이 실제 데이터베이스로 마이그레이션되도록 요청하고 있습니다. 그것을 실패하면 아마도 적어도 주어진 시간에 상주하는 부분 만있는 메모리 매핑 파일에 대한 아이디어를 탐색 할 것입니다 ...
3
해당 값과 비교하여 키의 크기는 얼마나됩니까? 파일 크기가 상당히 작 으면 키와 해당 값 파일 내의 해당 위치 사이에서 메모리에 테이블을 만들 수 있습니다.
관련 문제
- 1. C# 파일 IO 최적화
- 2. 큰 XML 파일에 대한 루핑
- 3. 매우 큰 파일에 대한 XSLT 변환
- 4. 파일을 구문 분석하고있는 경로에없는 파일에 대한 IO 오류가 발생합니다.
- 5. 큰 테이블 구성 및 최적화
- 6. 큰 테이블에서의 MySQL 쿼리 최적화
- 7. 배열을 통한 검색을위한 Objective-C의 코드 최적화
- 8. 큰 Postgresql 테이블에 대한 중첩 된 조인 창 함수 최적화
- 9. 큰 파일에 자바로 액세스
- 10. 실행 파일에 대한 제어가없는 공유 라이브러리로 GCC 프로파일 가이드 최적화
- 11. 검색 많은 검색 대상을 가진 많은 수의 파일에 대한 최적화
- 12. C의 구조에 대한 포인터
- 13. 두 개의 큰 테이블에서 간단한 쿼리 최적화
- 14. Text.Parsec.Stream에 대한 스트림 핸들 IO Char가 있습니까?
- 15. 큰 문자열을 텍스트 파일에 쓰기
- 16. SQL Server 큰 테이블 변경 최적화
- 17. C의 삶의 게임, 어떻게 파일에 씁니까?
- 18. 점진적으로 파일에 쓸 때 메모리 소비 최적화
- 19. GHC는 마무리 작업을 최적화하여 IO 작업을 최적화 할 수 있습니까?
- 20. 함수에 대한 OpenMP 최적화
- 21. 에 대한 최적화
- 22. 최종 키워드에 대한 최적화
- 23. 조회 질문에 대한 최적화
- 24. asp.net fileupload 컨트롤 큰 파일에 대한 제어 시간 초과
- 25. FileInputFormat을 사용하여 큰 파일에 대한 매퍼 입력을 분할합니까?
- 26. 큰 여러 파일에 대한 Sed가 실패했습니다 (각각 37kB)
- 27. 큰 스키마 파일에 대한 xml 스키마 유효성 확인
- 28. 큰 파일에 XML 직렬화를 사용해야합니까?
- 29. 큰 데이터를 파일에 저장하는 방법
- 30. 큰 선택 쿼리를 레일에서 json으로 최적화
새 키를 많이 만들지 않는 경우 : 키를 기반으로 전체를 정렬하여 이진 검색을 허용하고이 정렬 된 순서에 따라 여러 파일로 나눌 수도 있습니다. – huon
파일을 적절한 데이터베이스로 변환 할 수 있습니까? – Glenn
이것은 [NoSQL 데이터베이스] (http://en.wikipedia.org/wiki/NoSQL#Key-value_store)에 대한 이상적인 사례 인 것처럼 보입니다. –