2008-10-14 40 views
6

Tôi có một ứng dụng Java được thiết lập làm dịch vụ để khai thác dữ liệu với ~ 3GB dữ liệu cứ sau vài giờ. Tôi muốn điều này xảy ra 100% trong bộ nhớ. Lý tưởng nhất là tôi muốn ứng dụng được phân lập từ mọi thứ; Tôi muốn nó để xây dựng cơ sở dữ liệu, làm khai thác tôi cần, và xé xuống cơ sở dữ liệu khi nó được thực hiện.Cơ sở dữ liệu HSQL 100% trong bộ nhớ

Tuy nhiên với HSQLDB, ngay cả khi tôi sử dụng lệnh "tạo bảng bộ nhớ ....", nhật ký được viết bằng tất cả các câu lệnh và bảng được tạo lại vào lần chạy ứng dụng tiếp theo.

Tôi đang thực hiện rất nhiều thao tác chèn, ~ 150k +, vì vậy tệp này sẽ nhanh chóng tăng kích thước. Tôi cũng không quan tâm đến việc xây dựng lại cơ sở dữ liệu khi chạy tiếp theo, vì vậy việc ghi nhật ký là vô dụng đối với tôi.

Tôi chỉ có thể xóa tệp khi tôi hoàn tất, nhưng nếu có thể, tôi muốn tránh phải viết nhiều dữ liệu đó vào đĩa.

Có cách nào để tắt tính năng này không?

Cảm ơn trước!

+0

Bạn đang nói về nhật ký nào? – abarax

+0

và bạn đang sử dụng Hibernate để tạo bảng? hoặc JDBC? – abarax

Trả lời

7

Không thành vấn đề, chỉ cần mở kết nối cơ sở dữ liệu như sau:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", ""); 

Để biết thêm thông tin, hãy tham khảo HSQL docs.

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