2012-02-04 32 views
33

Tôi có một cơ sở dữ liệu sqlite sẽ được điền từ một dịch vụ web với bản ghi 1000 thực tế, sau đó tôi sẽ chèn thêm bản ghi trong đó mỗi lần tôi cần làm. Câu hỏi của tôi là nơi lưu trữ cơ sở dữ liệu sqlite trong thiết bị theo cách để tiếp tục chèn (bộ nhớ trong hoặc bộ nhớ ngoài) tức là nếu tôi lưu trữ cơ sở dữ liệu trong bộ nhớ trong và khi bộ nhớ trong được lấp đầy, tôi có thể di chuyển nó sang bên ngoài và tiếp tục chèn HOẶC nếu tôi lưu trữ bộ nhớ ngoài và bộ nhớ ngoài được lấp đầy và có một khoảng trống sẵn có bên trong, tôi có thể di chuyển vào bên trong và tiếp tục chèn dữ liệu .. i am rất bối rối về điều này bạn có thể giúp tôi bất kỳ đề xuất hoặc liên kết xin vui lòngCửa hàng Android SQLite

+0

bạn đang ở trên một cách để kiếm được huy hiệu câu hỏi hay :) – Lucifer

+0

như bạn trên đường để kiếm được huy hiệu câu trả lời tốt :) – confucius

+2

tôi trên sân khách để ** Guru ** Badge trong một tháng có thể :) – Lucifer

Trả lời

78

Câu trả lời sau đây tôi đưa ra dựa trên kinh nghiệm cá nhân của tôi.

  • Đề xuất đầu tiên (Internal/Điện thoại Memory)

    Khi bạn đang lưu trữ cơ sở dữ liệu trong nội bộ bộ nhớ, sau đó cho hiệu suất nó là rất tốt. Vì Ứng dụng của bạn sẽ được cài đặt trong Bộ nhớ trong, do đó, trong khi chèn 1000 Bản ghi và bản ghi khác, đối với ứng dụng, việc truy cập cơ sở dữ liệu sẽ dễ dàng hơn. Hiệu suất của ứng dụng sẽ rất tốt đẹp. Nhưng khi nói đến giới hạn bộ nhớ, khi bộ nhớ trong sẽ được lấp đầy quá đủ thì hiệu suất của thiết bị sẽ giảm. Vì vậy, bộ nhớ trong là tốt nhất cho đến khi cơ sở dữ liệu mức trung bình.

  • Second Đề xuất (Bộ nhớ ngoài, SD Card)

    Khi bạn đang lưu trữ cơ sở dữ liệu trong bộ nhớ bên ngoài như thẻ SD, sau đó cho hiệu suất, ứng dụng hiệu suất sẽ được chút chậm hơn so với Internal Memory. Tuy nhiên điều này sẽ không đáng kể đối với cơ sở dữ liệu ở mức trung bình. Khi có rất ít dữ liệu thì hiệu suất sẽ giống nhau trong cả hai trường hợp. Bây giờ khi bạn đang sử dụng bộ nhớ ngoài, khi đó bạn có dung lượng lưu trữ lớn. Tôi không nghĩ rằng nó sẽ không bao giờ được lấp đầy đầy đủ. Nhưng trong trường hợp số lượng lớn các bản ghi hiệu suất sẽ giảm xuống. Đôi khi có thể ứng dụng gặp sự cố.

+0

cảm ơn bạn rất nhiều nhưng nếu tôi sử dụng đề xuất đầu tiên của bạn, tôi có thể làm gì khi bộ nhớ trong được lấp đầy ?? làm thế nào tôi có thể xử lý đó ?? – confucius

+0

bạn sẽ viết bất kỳ ảnh, video, loại dữ liệu âm thanh nào? – Lucifer

+0

không chỉ văn bản ... – confucius

5

Tôi không chắc đây là một ý tưởng hay. Nếu bạn có webservice có thể cung cấp cho bạn dữ liệu bạn cần, bạn nên sử dụng cơ sở dữ liệu cục bộ để lưu vào bộ nhớ cache một phần nhỏ dữ liệu. Nếu không, như bạn vừa nói, bạn sẽ kết thúc việc lấp đầy cả những kỷ niệm bên trong và bên ngoài.

+0

câu hỏi của tôi nơi để quyết định lưu trữ cơ sở dữ liệu cho mục đích bộ nhớ cache bên ngoài hoặc nội bộ – confucius