【发布时间】:2011-12-21 19:19:05
【问题描述】:
我目前正在尝试决定为新的 .NET 项目选择哪个嵌入式数据库。有 2 个候选:SQLite 和 SQL CE。
我把表演放在首位。但同样重要的是,是否支持诸如 Dapper-dot-net 或 Simple.Data 之类的 microORM 工具。
如果您都尝试过并对此有意见,我会很高兴听到!
【问题讨论】:
我目前正在尝试决定为新的 .NET 项目选择哪个嵌入式数据库。有 2 个候选:SQLite 和 SQL CE。
我把表演放在首位。但同样重要的是,是否支持诸如 Dapper-dot-net 或 Simple.Data 之类的 microORM 工具。
如果您都尝试过并对此有意见,我会很高兴听到!
【问题讨论】:
我都用过*,当你说“性能”是你最关心的问题时,你需要更具体一点。
例如,在 SQLite 中执行许多插入/更新会慢很多,除非您将它们全部包装在一个事务中并在最后提交。 SQL CE 的查询语法稍微简单一些,这意味着我必须执行多个命令并在代码中合并/操作数据。
鉴于“性能”的用例多种多样(延迟、查询/秒、行/秒,甚至代码或数据库大小),我建议您连接线束并进行一些动手测试。在我们的比较中我也做了同样的事情,但最后意识到使用 SQLite 回调来做一些操作会更好。
SQL CE 3.5 和 SQLite.Net,所以我没有使用最新版本,或者我使用的是代理包装器,这会增加一些开销。
【讨论】:
我能想到的.NET for SQL CE 的唯一优势是能够将它集成到设计器中。
另一方面,在速度、SQL 标准合规性和内存使用方面,我强烈建议您使用 SQLite。
不要误会,我相信 SQL CE 是一个很棒的数据库,但也要记住 SQLite 编译在一个 DLL 文件中,可以在任何 .Net 产品中使用。
【讨论】: