Afaik, SQLite lưu trữ một cơ sở dữ liệu duy nhất trong một tệp duy nhất. Vì điều này sẽ làm giảm hiệu suất khi làm việc với các cơ sở dữ liệu lớn, có thể nói rõ ràng với SQLite không lưu toàn bộ DB trong một tệp và lưu trữ các bảng khác nhau trong các tệp khác nhau không?Nhiều tệp cho một cơ sở dữ liệu SQLite duy nhất
Trả lời
Nếu bạn không cần tham gia giữa các bảng này, bạn có thể chia DB theo cách thủ công và cho biết bảng nào trong đó DB (= tệp).
Tôi không nghĩ rằng có thể để SQLite chia DB của bạn thành nhiều tệp, bởi vì bạn kết nối với một DB bằng cách nói tên tệp.
Không đủ khả năng để có bảng dưới dạng DB khác nhau. Ngoài ra số lượng cơ sở dữ liệu đính kèm tối đa được giới hạn ở 62 trong SQLite. :( – thameera
Tệp cơ sở dữ liệu SQLite có thể phát triển khá lớn mà không có bất kỳ hình phạt hiệu suất nào.
Những điều mà có thể làm suy giảm hiệu suất là:
- tập tin khóa tranh
- kích thước bảng (nếu sử dụng chỉ số và phát hành các truy vấn ghi)
Ngoài ra, theo mặc định, SQLite giới hạn number of attached databases to 10.
Dù sao, try partition your tables. Bạn sẽ thấy rằng SQLite có thể phát triển rất nhiều theo cách này.
Theo như tôi hiểu từ bài đăng được liên kết, khái niệm phân vùng là tự thực hiện. SQLite không có hỗ trợ phân vùng dựng sẵn như một số RDBMS khác. –
Câu hỏi là khoảng ba tuổi nhưng tôi đã đến đây khi tôi tìm kiếm câu hỏi tương tự. Cuối tôi phát hiện ra rằng nó IS có thể:
Sử dụng
sqlite3.exe MainDB.db
ATTACH DATABASE 'SomeTableFile.db' AS stf;
bảng Truy cập từ các tập tin cơ sở dữ liệu khác
SELECT * FROM stf.SomeTable;
Bạn thậm chí có thể tham gia qua nhiều tệp
SELECT *
FROM MainTable mt
JOIN stf.SomeTable st
ON (mt.id = st.mt_id);
https://www.sqlite.org/lang_attach.html
tameera nói có một giới hạn của 62 cơ sở dữ liệu kèm theo nhưng tôi không bao giờ đạt giới hạn đó vì vậy tôi không thể xác nhận đó.
Lợi thế lớn bên cạnh một số trường hợp đặc biệt là bạn giới hạn phân mảnh trong tệp cơ sở dữ liệu và bạn có thể sử dụng lệnh VACUUM riêng biệt trên mỗi bảng!
Rõ ràng có một giới hạn chuyển đổi để giới hạn số lượng cơ sở dữ liệu có thể được gắn vào một kết nối 'SQLITE_LIMIT_ATTACHED'. Có lẽ tameera đã đạt đến giới hạn đó trong bài kiểm tra? – Sampath
- 1. Nhiều Cơ sở dữ liệu SQLite cho nhiều ngôn ngữ?
- 2. Nhiều phiên bản nút với một cơ sở dữ liệu duy nhất
- 3. Chế độ xem Sqlite trên nhiều cơ sở dữ liệu
- 4. Sqlite + C#: Không thể mở tệp cơ sở dữ liệu
- 5. Nhiều cơ sở dữ liệu trong Rails
- 6. Cách tìm phiên bản tệp cơ sở dữ liệu SQLITE
- 7. Lỗi khi tách cơ sở dữ liệu SQLite - cơ sở dữ liệu bị khóa
- 8. Kết hợp nhiều cơ sở dữ liệu vào một cơ sở dữ liệu đơn
- 9. Thêm tệp HTML vào Cơ sở dữ liệu SQLite
- 10. Cách thay thế tệp cơ sở dữ liệu sqlite hiện có bằng tệp cơ sở dữ liệu mới trong android
- 11. SQLite: cơ sở dữ liệu chỉ đọc
- 12. Một cơ sở dữ liệu người dùng phục vụ nhiều cơ sở dữ liệu ứng dụng
- 13. cơ sở dữ liệu sqlite ios7 với WAL không bao giờ đồng bộ hóa tệp cơ sở dữ liệu chính
- 14. Duy trì tính duy nhất của một thuộc tính trong cơ sở dữ liệu NDB
- 15. Cách tốt nhất để chuyển đổi cơ sở dữ liệu mysql thành cơ sở dữ liệu sqlite là gì?
- 16. Chia nhỏ tệp mysqldump với nhiều cơ sở dữ liệu, theo cơ sở dữ liệu
- 17. Làm cách nào tôi có thể hợp nhất nhiều cơ sở dữ liệu SQLite?
- 18. giữ bảng nhật ký trong cơ sở dữ liệu sqlite?
- 19. Các tệp cơ sở dữ liệu SQlite tên mở rộng tốt nhất là gì?
- 20. Chèn mảng trong cơ sở dữ liệu SQLite trong android
- 21. Nhiều cơ sở dữ liệu hoặc nhiều nhiều bảng?
- 22. Cơ sở dữ liệu đồng bộ hóa sqlite với mysql
- 23. Cơ sở dữ liệu SQLite cho ứng dụng Android với nhiều người dùng tiềm năng
- 24. sqlite không thể mở tệp cơ sở dữ liệu được mã hóa hoặc không phải là cơ sở dữ liệu?
- 25. Có cách nào để lưu trữ một phần tử dữ liệu (duy nhất) trong SQLite không?
- 26. Một cơ sở dữ liệu và nhiều cơ sở dữ liệu
- 27. Làm thế nào để đọc dữ liệu từ cơ sở dữ liệu SQLite?
- 28. Một công cụ phát triển để thiết kế cơ sở dữ liệu SQLite cho Android
- 29. onUpgrade() cơ sở dữ liệu sqlite trong Android
- 30. Thiết lập/chèn vào cơ sở dữ liệu nhiều-nhiều với Python, SQLALchemy, Sqlite
Tại sao bạn cần? chức năng nào không thể đạt được/Hoặc các vấn đề có thể xảy ra bằng cách sử dụng tệp DB duy nhất? –
Tôi đang lên kế hoạch thay thế một Oracle DB bằng SQLite. Hàng nghìn giao dịch sẽ diễn ra suốt cả ngày và tôi e rằng việc đọc và viết một tệp sẽ làm chậm quá trình. Dù sao thì dường như SQLite sẽ không là lựa chọn tốt nhất để xử lý một cơ sở dữ liệu lớn như vậy. – thameera