2010-06-14 38 views
6

Tôi đang sử dụng một db sqlite rất thuận tiện và dường như đáp ứng tất cả nhu cầu của tôi tại thời điểm này.cơ sở dữ liệu lớn trong sqlite - cân nhắc kích thước tệp?

Hiện tại kích thước db của tôi là < 50MB, nhưng bây giờ tôi cần thêm một bảng mới để lưu trữ các đốm màu văn bản lớn, điều này sẽ khiến cho db đạt tới 5 GB trong năm tới.

sqlite có thể xử lý kích thước db 5 GB không? Bất kỳ hãy cẩn thận với điều đó, so với nói mysql?

+1

xem chi tiết đầy đủ về DBL sqlite lớn trong: http://stackoverflow.com/q/784173/462865, ngay sau đó tôi có thể trả lời 5 GB có thể được xử lý tốt bằng sqlite. –

Trả lời

4

Tôi không phải là chuyên gia lớn về cơ sở dữ liệu, nhưng hầu hết công việc liên quan đến DB tôi đã sử dụng SQLite. Theo kinh nghiệm của tôi, làm cho cơ sở dữ liệu lớn hơn trong chính nó không phải chịu một lần truy cập hiệu suất lớn. Đương nhiên bạn sẽ có nhiều dữ liệu hơn, vì vậy hãy chuẩn bị dành nhiều thời gian hơn để truy vấn nó!

Hãy xem xét thử nghiệm suy nghĩ này: bạn có bảng có tên là mydata bạn sử dụng tất cả thời gian trong DB. Bây giờ, bạn thêm một bảng không liên quan otherdata. Các truy vấn của bạn cho mydata không phụ thuộc vào thông tin trong số otherdata. Ngay cả khi bạn đẩy GB dữ liệu vào otherdata, bạn sẽ không cảm thấy bất kỳ hiệu suất thực nào đạt được khi sử dụng mydata.

AFAIK, kiến ​​trúc của SQLite hỗ trợ xác nhận quyền sở hữu này.

3

SQLite sẽ tốt cho những gì bạn muốn làm. Kích thước thực sự không phải là một mối quan tâm. Miễn là tệp dữ liệu của bạn có thể nằm trên cùng một máy tính đang thực hiện cuộc gọi, bạn sẽ ổn thôi. Nếu bạn đặt nó trên mạng, điều đó là tốt, nhưng việc truy cập nhiều người dùng phải tuân thủ các lỗi của hệ điều hành khi nói đến khóa hồ sơ, vv Mỗi so sánh với mysql, vì bạn đã loại bỏ máy chủ, bạn đã cũng loại bỏ lưu lượng mạng liên quan đến việc truy xuất dữ liệu. điều này sẽ tăng tốc mọi thứ.

-don

3

Như đã nêu trong Sqlite HỎI & ĐÁP, FAQ

nhìn vào thời điểm 12, nó nói giới hạn tối đa của SQLite db có thể được tối đa 140 lao !!

+0

Nó nói 140TB (tính đến nay), không phải 14TB. –

+0

Tôi chỉ muốn thêm rằng 140 TB là một giới hạn lý thuyết và nó chưa bao giờ được kiểm tra: "Giới hạn trên cụ thể này chưa được kiểm tra vì các nhà phát triển không có quyền truy cập vào phần cứng có khả năng đạt đến giới hạn này." Nhưng có lẽ cơ sở dữ liệu SQlite 5 GB không phải là vấn đề. – Galabyca

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