我正在研究一个Java桌面应用程序,它可以读写不同的文件.我认为更好的解决方案是用SQLite数据库替换文件系统.迁移到这个系统并在我的应用程序中嵌入数据库有多难?有真正的性能提升吗?非常感谢
我认为只要将数据存储更改为SQLite,您就不会获得性能.您应该将基于FS的存储迁移到关系(SQL)数据库存储中.
你需要原子操作. - 您的应用可能随时崩溃,您不必担心损坏的数据)
您需要异步操作. - 您的应用程序的多个实例可以同时修改数据而不会破坏它/获得无效状态.
您需要数据规范化. - 产品-m2m->目录
自动索引 - 如果您需要快速搜索功能(如果您的文件系统还不够快)
您需要抽象复杂的数据操作. - 即SELECT SUM(价格)WHERE价格<10等
这些是通过切换到SQLite获得的一些收益.
如果您还正确使用了基于文件的系统没有的关系存储的一个或多个上述属性,则可以从SQLite获得性能提升.