2012-02-04 2 views
33

나는 1000 건의 레코드로 webservice에서 채워질 sqlite 데이터베이스를 가지고있다. 그런 다음 필요할 때마다 더 많은 레코드를 삽입 할 것이다. 내 질문은 장치에 sqlite 데이터베이스를 저장하는 방법 (내부 또는 외부 메모리 중 하나)을 유지하는 방법입니다. 즉 내부 메모리에 데이터베이스를 저장하고 내부 메모리가 채워지면 외부로 이동하여 삽입을 유지할 수 있습니다. 또는 외부 저장소에 저장하고 외부 저장소가 가득 차면 내부 공간을 사용할 수 있고 내부 데이터를 계속 저장할 수 있습니다.이 문제에 대해 매우 혼란 스럽습니다. 제안 사항 또는 링크를주십시오스토어 안드로이드 SQLite

+0

당신은 좋은 질문 배지를 적립 : 당신 같은 – Lucifer

+0

을가는 길에 좋은 답변 배지 : – confucius

+2

내가 ** 한 달에 배지가있을 수 있습니다 ** 전문가 멀리에 대한 생각을 적립하는 방법에 있습니다 :) – Lucifer

답변

78

응답 나는 나의 개인적인 경험을 바탕으로하고있다.

  • 먼저 제안 (내부/전화 메모리)

    당신이 내부 메모리에 데이터베이스를 저장하는, 다음 성능 것이 매우 좋다. 응용 프로그램은 내부 메모리에 설치되므로 1000 레코드 및 기타 레코드를 삽입하는 동안 응용 프로그램에 대해 데이터베이스에 더 쉽게 액세스 할 수 있습니다. 응용 프로그램의 성능이 매우 좋을 것입니다. 그러나 메모리 제한에 관해서는 내부 메모리가 충분히 채워지면 장치의 성능이 저하됩니다. 따라서 내부 메모리는 중간 수준의 데이터베이스까지 가장 좋습니다.

  • 두 번째 제안 (외장 메모리, SD 카드)

    당신이 다음 성능, SD 카드와 같은 외부 메모리에 데이터베이스를 저장하고, 응용 프로그램의 성능의 내부 메모리보다 조금 느립니다. 그러나 이것은 중간 수준의 데이터베이스에는 중요하지 않습니다. 데이터가 거의없는 경우 성능은 두 경우 모두 동일합니다. 이제 외부 메모리를 사용할 때 큰 크기의 데이터가 저장됩니다. 나는 결코 완전히 채워지지 않을 것이라고 생각하지 않습니다. 그러나 많은 수의 레코드가있는 경우 성능이 저하됩니다. 경우에 따라 응용 프로그램이 충돌 할 수도 있습니다.

+0

많이 고맙습니다하지만 만약 당신의 첫 제안을 사용하면 내부 메모리가 채워질 때 어떻게 할 수 있습니까 ?? 어떻게 처리 할 수 ​​있습니까 ?? – confucius

+0

사진, 비디오, 오디오 같은 종류의 데이터를 쓸 것입니까? – Lucifer

+0

아무 텍스트도 ... – confucius

5

나는 이것이 좋은 생각인지 모르겠다. 필요한 데이터를 제공 할 수있는 웹 서비스가 있으면 데이터의 일부만 캐시하기 위해 로컬 데이터베이스를 사용해야합니다. 그렇지 않으면 방금 말했듯이, 당신은 결국 내부 및 외부 기억을 모두 채울 것입니다.

+0

내 질문 어디에 외부 또는 내부 캐시 목적을 위해 데이터베이스를 저장하기로 결정 – confucius