Programming

SQLite의 장단점 및 공유 환경 설정

procodes 2020. 6. 18. 22:12
반응형

SQLite의 장단점 및 공유 환경 설정


SQLite 데이터베이스와 공유 환경 설정간에 정보를 저장하는 좋은 메커니즘은 무엇입니까?공유 환경 설정을 사용하는 이유는 무엇입니까? 왜 sqlite를 사용합니까? 나는 그들 사이의 차이점을 찾으려고 노력했으며 이것이 데이터 저장을위한 더 좋은 메커니즘이지만 Google에서 적절한 답변을 찾을 수 없습니다. 예와 설명을 도와주세요.


실제로 저장하려는 데이터에 따라 다릅니다.

SQLite

데이터베이스는 이러한 종류의 데이터를 위해 설계되었으므로 대량의 동일한 구조화 된 데이터를 SQLite 데이터베이스에 저장해야합니다. 데이터는 데이터베이스에 의해 구조화되고 관리되므로 SQL과 같은 쿼리 언어를 사용하여 특정 기준과 일치하는 하위 데이터 세트를 가져 오도록 쿼리 할 수 ​​있습니다. 이를 통해 데이터를 검색 할 수 있습니다. 물론 많은 양의 데이터를 관리하고 검색하면 성능에 영향을 미치므로 데이터베이스에서 데이터를 읽는 것이 SharedPreferences에서 데이터를 읽는 것보다 느릴 수 있습니다.

SharedPreferences

SharedPreferences는 특정 키 아래에 데이터를 저장할 수있는 키 / 값 저장소입니다. 상점에서 데이터를 읽으려면 데이터의 키를 알아야합니다. 따라서 데이터를 매우 쉽게 읽을 수 있습니다. 그러나 소량의 데이터를 저장하는 것만 큼 쉬운 것은 모든 단일 데이터에 대한 키를 정의해야 할 때 큰 구조적 데이터를 저장하고 읽는 것이 어렵 기 때문에 특정 개념이 없다면 데이터 내에서 실제로 검색 할 수 없습니다 키의 이름을 지정합니다.


이 질문에 대한 답은 있지만 속도와 관련하여 더 많은 주제가 있다고 생각합니다.응용 프로그램의 SharedPreferences 및 Sqlite DB는 모두 파일 일 뿐이며 장치 파일 시스템의 응용 프로그램 디렉토리에 저장됩니다. 데이터의 양이 너무 크지 않으면 Sqlite 옵션은 더 간단한 액세스를 위해 처리 오버 헤드가 더 큰 더 크고 복잡한 파일을 포함합니다.따라서 데이터의 특성이 (응답에 설명 된대로) 선택을 지시하지 않고 속도가 중요한 경우 SharedPreferences를 사용하는 것이 좋습니다.그리고 일부 데이터를 읽는 것은 종종 주요 활동을 표시하는 데 중요한 경로에 있으므로 속도가 매우 중요하다고 생각합니다.속도와 효율성에 관한 마지막 생각-구조화 된 일부 데이터에 Sqlite 데이터베이스를 사용해야하는 경우 데이터베이스에 사용자 기본 설정을 저장하는 것이 더 효율적일 수 있으므로 두 번째 파일을 열지 않아도됩니다. 이것은 매우 사소한 고려 사항입니다. 주요 활동을 표시하기 전에 구조화 된 데이터와 기본 설정 모두에 액세스해야하는 경우에만 고려할 가치가 있습니다.


내 속도는 속도 나 크기가 아니라 데이터에 대해 수행하려는 작업의 종류입니다.당신이하려는 경우

가입

,

종류

,

및 기타 DB 작업

데이터에 다음 갈

SQLite는

. 예를 들어 날짜별로 데이터를 정렬합니다.int, boolean, String과 같은 간단한 값을 매핑하려면

Preferences

를 사용하십시오 . DB 작업은 여기서 작동하지 않으며 모든 키가 필요하다고 말할 필요가 없습니다. 예를 들어 사용자 비밀번호 또는 앱 구성이 있습니다.환경 설정을 채택하려는 큰 유혹은이를 사용하여 평평한 POJO (직렬화 된 JSON 객체)를 문자열로 저장하려는 경우입니다. 실제로 그러한 필요는 Sqlite를 사용하는 표시입니다. 왜 ? 복잡한 데이터는 결국 복잡한 opration이 필요하기 때문입니다. 간단한 "SELECT ... WHERE id = 1"로 처리 할 수있는 특정 항목을 검색한다고 상상해보십시오. 환경 설정 경로에서 이는 직렬화 해제에서 결과 반복까지 오랜 시간이 소요됩니다.


  • 방대한 양의 데이터를 저장하려면 SQLite 데이터베이스 시스템으로 이동하십시오. 이를 통해 사용자는 데이터를 검색 할 수 있습니다.
  • 반면에 소량의 데이터를 저장하려면 공유 환경 설정으로 이동하십시오. 이 경우 거대한 데이터베이스 시스템이 필요하지 않습니다. 이를 통해 사용자는 단순히 데이터를 저장하고로드 할 수 있습니다.

SQLLite는 SharedPreferences를 잊어 버리고 Realm을 사용하십시오. 모든 로컬 스토리지를위한 단일 솔루션. 평범한 오래된 Java 객체를 RealmObject로 사용하여 데이터를 저장할 수 있습니다. 선택 쿼리를 JSON 파일로 변환 할 수 있습니다. 전체 데이터베이스를 구문 분석 할 필요가 없습니다. 이 링크를 확인하십시오 :

https://realm.io/news/introducing-realm/

참고 URL :

https://stackoverflow.com/questions/6276358/pros-and-cons-of-sqlite-and-shared-preferences

반응형