2010-05-09 3 views
5

Android 플랫폼에서 sqlite 라이브러리가 내장되어 있습니다.SQLite 데이터 필드가 추가 메모리를 차지합니까?

사용자가 자신의 사용자 지정 응용 프로그램에 사용할 수있는 몇 가지 일반 필드를 추가 할 것을 고려하고 있지만 이러한 필드는 대부분 비어 있습니다.

제 질문은 이러한 빈 필드가 데이터베이스에 얼마나 추가됩니까? null 필드가 sqlite의 레코드 메모리 당 차지하는 것인가? 그렇다면 얼마나됩니까? 나는 꽤 sqlite 데이터베이스의 내부 작동을 이해하지 않습니다.

답변

6

SQLite 파일 형식은 here입니다. NULL 필드는 1 바이트를 취합니다.

사용자 지정/선택적 필드를 제공하는 한 가지 방법은 해당 레코드를 식별하는 외래 키가있는 별도의 테이블에 넣는 것입니다. 그런 다음 사용자 정의 필드가있는 경우 추가 레코드가 필요하지 않지만 사용자 정의 필드가있을 때 모든 필드를 수집하기 위해 조인을 수행해야합니다.

+1

이미이 노트를 다른 데이터베이스와 관련시키는 다 대다 설정을 사용하고 있으며 더 많은 테이블을 혼합하여 사용하면 매우 혼란 스러울 것입니다. – CodeFusionMobile

관련 문제