2011-12-14 42 views
14

Tôi có một câu hỏi nhỏ về lưu trữ dữ liệu trên cơ sở dữ liệu SQLite. Có thể lưu trữ tối đa bao nhiêu bản ghi trong cơ sở dữ liệu SQLite? Có giới hạn nào không? Nếu dữ liệu vượt quá giới hạn này thì loại lỗi đó cung cấp là gì? Liệu toàn bộ hệ thống sẽ thất bại hay điều gì khác xảy ra?Dung lượng lưu trữ tối đa của cơ sở dữ liệu SQLite

+0

liên quan: http://stackoverflow.com/questions/3482635/what-is-a-maximum-size-of-sqlite-database-on-android – nawfal

+0

1 Tera Byte .... –

Trả lời

13

Dựa trên this page:

Android không áp đặt bất kỳ hạn chế vượt quá tiêu chuẩn SQLite khái niệm. Chúng tôi khuyên bạn nên bao gồm trường khóa giá trị tự động khóa có thể được sử dụng làm ID duy nhất để nhanh chóng tìm thấy bản ghi. Đây không phải là yêu cầu cho dữ liệu cá nhân, nhưng nếu bạn triển khai nhà cung cấp nội dung, bạn phải bao gồm một ID duy nhất sử dụng hằng số BaseColumns._ID.

Giới hạn được liên kết với SQLite limitation. Đối với những gì đã xảy ra khi chúng tôi đạt đến giới hạn đó, tôi đoán android sẽ tăng SQLiteFullException.

+0

Cảm ơn @silent , Nếu tôi lưu trữ 1 0r 2 ngày Thông tin vị trí trên sqlite cho peridiocity của 15 phút, nó sẽ trở thành đầy đủ? Làm thế nào tôi có thể cắt bớt bảng nếu cơ sở dữ liệu trở nên đầy đủ? –

+2

4 * 24 = 96 mục/ngày = 1.000.000.000/96 = ~ 28500 năm. Tôi nghĩ, đối với tình hình của bạn, bạn sẽ không bao giờ phải cắt ngắn. Tuy nhiên, bạn vẫn có thể thực hiện 'DELETE * FROM yourtable', để cắt bớt dữ liệu của nó. – ariefbayu

+0

Cảm ơn bạn rất nhiều .... vì đã xóa khái niệm .... !! –

3

Tối đa 140 terabyte. Trong biết thêm chi tiết

SQLite đầu được thiết kế với một chính sách để tránh tùy tiện giới hạn. Tất nhiên, mọi chương trình chạy trên một máy có bộ nhớ và không gian đĩa hữu hạn đều có giới hạn của một số loại. Nhưng trong SQLite, những giới hạn không được xác định rõ. Chính sách là nếu nó sẽ phù hợp với bộ nhớ và bạn có thể đếm nó với số nguyên 32 bit, sau đó nó nên làm việc .

Các vấn đề liên quan