파일의 특정 레코드를 가져와야하는 경우 일종의 인덱스 또는 고정 레코드 크기가 필요하지만 이는 레코드의 개별 부분이 아닌 전체 레코드를위한 것입니다. 나는 일반적으로 스토리지 내에서 4 또는 8 바이트 경계에 데이터를 정렬하기 위해 어떤 큰 길이도 가지 않습니다. 물론, 한 번에 하나의 레코드를 메모리의 정렬 된 위치로 읽는다면 정렬 된 데이터로 변환하여 모든 변환을 수행하게되므로 어느 정도는 서로 얽혀 버릴 수 있습니다.하지만 변환은 다음과 같습니다. 에 자주 액세스하는 대신 일회성 일 가능성이 높습니다. 변환 후.
저장소 크기는 물론 최적화에 중요합니다. 디스크에서 데이터를 더 적게 읽는 것이 더 많이 읽는 것보다 저렴합니다 (일반적으로 ...).
고정 된 레코드 크기와 같은 특정 요구 사항이 없으면 가능한 한 을 사용하기 쉽게 저장 장치를 설계하려고합니다.. 실적에 대한 특정 관심 분야가있는 경우이를 프로파일 링해야합니다. 예를 들어, 은 일 수 있습니다. UTF-8보다 문자열을 인코딩하는 데 UTF-16을 사용하는 것이 더 효율적입니다. 인코딩 및 디코딩이 더 적은 작업을 필요로하기 때문에 ... 더 많은 공간을 차지할지라도. 당신은 가정을하기보다는 이것들을 시험해야한다. 스토리지 포맷을로드하는 위치가 네트워크, 기계 디스크, 솔리드 스테이트 드라이브와 같은 큰 차이를 만들 것이라는 점에 유의하십시오. 이는 서로 다른 성능 특성을 갖게되어, 모든 경우에 가장 빠릅니다.
Jon, 답장을 보내 주셔서 감사합니다. acutal 게시물의 저장 매체에 대해 조금 명확하지 않지만 직접적인 하드 디스크 일 것입니다. 이 경우에는 읽기 속도가 가장 중요하며 레코드 크기는 일정합니다 (예, UTF-16이 가장 많이 사용됩니다). 부울 정보를 저장하기 위해 단일 바이트 값보다 bool (4 바이트) 값을 사용하여 속도 향상을 얻을 수 있는지 궁금합니다. 가능성이 가장 높을 것 같은데요. 바이트를 사용하면 도움이 될 것입니다.하지만 그래도 테스트 할 수는 있습니다. – Anthony