你能推荐一个轻量级的SQL数据库,它不需要在客户端计算机上安装就可以从.NET应用程序轻松访问吗?只需要基本的SQL功能.
现在我在简单项目中使用Access数据库并将.MDB和.EXE文件一起分发.寻找任何替代品.
检查SQLite,它是一个实现自包含,无服务器,零配置,事务SQL数据库引擎的软件库.
它有许多.NET 包装器
取决于你的轻量级意味着什么.拉姆容易吗?还是更轻的db文件?或更轻的连接器连接到数据库?或者更少的文件?我将对我所知道的进行比较:
no of files cumulative size of files db size Firebird 2.5 5 6.82 MB 250 KB SqlServerCe 4 7 2.08 MB 64 KB Sqlite 3.7.11.0 1 0.83 MB 15 KB VistaDb 4.3.3.34 1 1.04 MB 48 KB no of files - includes the .net connector and excludes the db file
dbs是1个表,有2列和2行.使用一小撮盐来获取db大小,因为dbs可以随着进一步使用而不同地生长.例如,SqlServerCe
虽然最初是64 KB,但是在添加了几百条记录之后它根本没有增长,而VistaDb
从48到72的增长很容易.SQLite在这方面是最好的,从最低点开始,线性增长.
很少有轶事:我使用SqlServerCe和出厂设置有更好的表现,这意味着它最容易开始没有任何配置,而我发现Firebird由于缺乏在线资料而难以启动.我能阅读的Firebird拥有最广泛的标准sql兼容性.虽然VistaDb是用完全托管的C#编写的,这意味着它可以与你的应用程序的程序集合并为一个文件,但对我来说这似乎是最慢的.总之,考虑到性能,易用性和尺寸,我选择了SQLite.SqlServerCe将是我的第二选择.
总之,每个都有其优点和缺点.再一次,用一点点盐咆哮,这只是我的个人经历.