Tôi biết rằng trong trường hợp thông thường là đọc/ghi nhanh hơn từ tệp, nhưng nếu tôi đã tạo hệ thống trò chuyện: Sẽ nhanh hơn để viết và đọc từ tệp hoặc thế nào để chèn/chọn dữ liệu trong một kết quả db và cahe?truy vấn cơ sở dữ liệu nhanh hơn hoặc ghi/đọc tập tin
Trả lời
Cơ sở dữ liệu nhanh hơn. VÀ quan trọng đối với bạn, giao dịch với quyền truy cập đồng thời.
Cơ sở dữ liệu cho đến nay.
Cơ sở dữ liệu được tối ưu hóa để lưu trữ dữ liệu được cập nhật liên tục và thay đổi như trong trường hợp của bạn. Lưu trữ tệp là để lưu trữ lâu dài với một số thay đổi.
(ngay cả khi các file đã nhanh hơn tôi vẫn sẽ đi với cơ sở dữ liệu bởi vì nó dễ dàng hơn để phát triển và duy trì)
Vì tôi đoán Hệ thống của bạn sẽ viết/đọc dữ liệu liên tục (như những người nhập tin nhắn của họ), viết họ một tập tin sẽ mất thời gian lâu hơn vì các thủ tục xử lý hồ sơ, tức là
- tập tin mở để viết
- khóa tập tin
- ghi & tiết kiệm
- mở khóa tệp
Tôi sẽ đi với db.
Bạn có thực sự muốn có hành động đĩa cơ khí mỗi khi có ai đó nhập không? Viết vào đĩa là một ý tưởng khủng khiếp. Thông báo bộ nhớ cache trong bộ nhớ. Xóa tin nhắn khi tin nhắn được gửi đến tất cả người dùng trong phòng. Bộ nhớ cache sẽ vẫn nhỏ, hầu hết thời gian trống. Đây là lựa chọn tốt nhất của bạn nếu bạn không cần nhật ký lịch sử.
Nhưng nếu bạn cần một khúc gỗ ....
Nếu bạn viết một lượng lớn dữ liệu trong 1 vượt qua, tôi đảm bảo các tập tin sẽ hút thuốc hiệu suất cơ sở dữ liệu chèn. Một tính năng chèn số lượng lớn của cơ sở dữ liệu có thể khớp với tệp, nhưng nó yêu cầu nguồn dữ liệu tệp để bắt đầu. Bạn sẽ cần phải xếp hàng nhiều thư trong bộ nhớ, sau đó định kỳ chuyển sang tệp.
Đối với nhiều ghi nhỏ, khoảng cách sẽ đóng và cơ sở dữ liệu sẽ tiếp tục. Các chỉ số sẽ ảnh hưởng đến tốc độ chèn. Nếu hàng ngàn người dùng đang chèn vào một bảng được lập chỉ mục nhiều, bạn có thể gặp sự cố.
Thực hiện các kiểm tra của riêng bạn để chứng minh điều gì nhanh hơn. Mô phỏng một tải thực tế, không phải là một thử nghiệm 1 người dùng.
- 1. Cách nào đọc nhanh hơn một tệp XML hoặc truy vấn cơ sở dữ liệu
- 2. Truy vấn danh sách <T> hoặc cơ sở dữ liệu có nhanh hơn không?
- 3. Các phiên có nhanh hơn truy vấn cơ sở dữ liệu không?
- 4. Có cách nào hiệu quả để truy vấn cơ sở dữ liệu Android nhanh hơn không?
- 5. const ngữ nghĩa để truy cập cơ sở dữ liệu hoặc hệ thống tập tin
- 6. Cơ sở dữ liệu về độ phức tạp của truy vấn cơ sở dữ liệu
- 7. Nhanh hơn là gì? File_exist hoặc truy vấn MySQL?
- 8. Truy vấn kiểu cơ sở dữ liệu với Firebase
- 9. Android SQLite: Truy vấn nào ("truy vấn" hoặc "rawQuery") nhanh hơn?
- 10. h2 (chế độ nhúng) cơ sở dữ liệu tập tin vấn đề
- 11. Các truy vấn cơ sở dữ liệu sẽ ở đâu?
- 12. truy vấn cơ sở dữ liệu khác nhau
- 13. Sqlite3 tập tin cơ sở dữ liệu mở rộng
- 14. cấp tập tin chỉ trên một cơ sở dữ liệu
- 15. Cơ sở dữ liệu chạy nhanh trong RAM nhanh hơn bao nhiêu?
- 16. MongoDB truy vấn cơ sở dữ liệu chéo
- 17. Truy vấn Hibernate trên cơ sở dữ liệu
- 18. CodeIgniter giới hạn truy vấn cơ sở dữ liệu
- 19. Truy vấn cơ sở dữ liệu chéo trong EF
- 20. Vấn đề cơ sở dữ liệu Flask
- 21. PostgreSQL - truy vấn từ tập lệnh bash dưới dạng người dùng cơ sở dữ liệu 'postgres'
- 22. truy vấn để sao lưu cơ sở dữ liệu tại một vị trí trong hệ thống tập tin
- 23. Facelets Lấy mẫu/tập tin từ một hệ thống tập tin bên ngoài hoặc cơ sở dữ liệu
- 24. SQL 2005 - cách nhanh chóng để sao chép nhanh một cơ sở dữ liệu + dữ liệu
- 25. Cách sử dụng tập lệnh để truy vấn cơ sở dữ liệu sqlite android
- 26. mangento trong cơ sở dữ liệu hoặc cơ sở oracle?
- 27. Thiết kế cơ sở dữ liệu nào tốt hơn?
- 28. MySQL: Nhiều bảng hoặc nhiều cơ sở dữ liệu?
- 29. Truyền hoặc chuyển đổi khi truy xuất dữ liệu từ cơ sở dữ liệu?
- 30. Truy vấn Cơ sở dữ liệu MDB của Microsoft Truy cập bằng LINQ và C#