응용 프로그램의 SQLite DB에서 사용 가능한 여유 공간을 확보 할 수있는 방법이 있습니까? 나는 SQLiteDatabase.getMaximumSize()이 DB의 최대 크기를 반환한다는 것을 알지만, 데이터베이스가 차지하는 현재 바이트 양을 얻는 방법이 있습니까?SQLite 여유 공간 얻기 %
답변
의미있는 기본 최대 크기는 없습니다. 먼저 장치의 저장소 크기 제한을 실행합니다.
sqlite-analyzer과 같은 도구를 사용하여 데이터가 커질 때 데이터가 차지하는 공간을 예상 할 수 있지만 런타임에 얼마나 한계가 있는지 쉽게 알 수 없습니다.
데이터베이스가 너무 커질 염려가있는 경우 정기적으로 이전 데이터를 정리해야합니다. VACUUM (DB 파일의 임시 사본을 생성)을 사용할 수는 없지만 최소한 PRAGMA auto_vacuum을 사용하면 DB 파일 내의 사용되지 않는 페이지가 범위를 벗어나지 않도록 할 수 있습니다.
감사. 앱의 저장 공간 크기 제한이 설정되었거나 전체 기기의 사용 가능한 디스크 공간을 기준으로합니까? –
앱당 제한이 없습니다. –
질문에 답하려면 예, DB가 현재 사용중인 공간의 양을 확인하는 방법이 있습니다. Joe가 지적했듯이 파일 경로를 가져 와서 파일 크기를 확인할 수 있습니다.
데이터베이스가 특정 크기를 초과하여 증가하지 않도록하기 위해 이전에이 방법을 사용했습니다. 데이터베이스에 데이터를 쓰고 난 후에는 함수를 호출하여 크기를 확인하고 필요한 경우 행을 삭제합니다.
public synchronized void checkDbSize()
{
File f = m_context.getDatabasePath(DATABASE_NAME);
long dbSize = f.length();
if(dbSize > DB_SIZE_LIMIT)
{
//Delete X rows from DB
}
}
이것은 사용 된 공간의 현재 양을 제공하지만 사용 가능한 공간의 양은 제공하지 않습니다. DB_SIZE_LIMIT가 임의의 크기 임계 값이라고 가정합니다. –
네, 그렇습니다. DB_SIZE_LIMIT는 임의의 임계 값입니다. 이 예제는 두 번째 질문에 대한 대답입니다. "데이터베이스에서 현재 차지하는 바이트 수를 얻는 방법이 있습니까?" –
- 1. powershell에서 제공된 드라이브 경로의 여유 공간 얻기
- 2. 드라이브 여유 공간 쿼리
- 3. 여유 공간 크기 정보
- 4. CFrame의 여유 공간 캘리브레이션
- 5. 여유 디스크 공간 계산
- 6. 이미지 팬에 여유 공간 추가하기
- 7. 내부 메모리에 여유 공간 확보
- 8. iPhone 사진 라이브러리 여유 공간
- 9. C# ColumnHeader의 여유 공간 배경색
- 10. 디스크의 여유 공간 변경시 감지
- 11. 장치 여유 공간 및 사용 된 샌드 박스 공간
- 12. .NET에서 총 디스크 여유 공간 찾기
- 13. Wp7에서 사용 가능한 여유 공간 확인
- 14. CAKeyframeAnimation - 경로를 따라 이동하고 여유 공간 사용
- 15. FTP 및 HTTP 여유 공간 크기의 경우
- 16. 여유 공간 모니터링 목적을위한 BASH 스크립트 수정
- 17. 안드로이드에서 PDF 페이지의 여유 공간 찾기
- 18. SQLite - 공간 참조를 쿼리하는 방법?
- 19. 장치 내부 저장 공간 얻기
- 20. 키 SQLite 얻기 안드로이드
- 21. 테이블에서 데이터를 삭제 한 후의 Oracle 여유 공간
- 22. Wipe C#을 사용하는 하드 디스크 드라이브의 여유 공간
- 23. 의 여유 공간 가져 오기 "C를 :"드라이브를 사용하여 배치 파일
- 24. 매핑 된 드라이브의 여유 공간 비율을 찾는 방법은 무엇입니까?
- 25. 사용 가능한 드라이브의 총 여유 공간 나열 VB.net
- 26. SQLite 3의 임시 데이터베이스를위한 데이터 저장 공간
- 27. 단일 행에 소요되는 공간 확인 Sqlite
- 28. iPhone에서 SQLite 데이터베이스를 사용하여 공간 요청
- 29. SQLite 명령 추가 후 공간 추가
- 30. C# Entity Framework sqlite (spatialite) 공간 날짜
['getPath'] (http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#getPath())를 사용 (HTTP를 [파일 크기]를 확인하지 왜 : //developer.android.com/reference/java/io/File.html#length())? – Joe