SQLite vs. SQL Server



我使用 Winforms 在 C# 中创建了一个应用程序,该应用程序每天的事务量为 2000 行数据。我正在使用SQL Server 2012,但由于他的名气,我正在尝试使用SQLite,大多数人都提到这个

那么,你能给我一些想法吗,哪一个更适合我的需求?

谢谢

SQLite比SQL Server更好地与.NET应用程序集成

SQLite通常比SQL Server快得多。

但是,SQLite 一次只支持一个编写器(意味着单个事务的执行)。SQLite 在需要锁(读取或写入)时锁定整个数据库,并且一次只有一个编写器可以持有写锁定。由于其速度,这对于中小型应用程序来说实际上不是问题,但是如果您的写入量更大(每秒数百次),那么它可能会成为瓶颈。有许多可能的解决方案,例如将数据库数据分离到不同的数据库中,将写入缓存到队列并异步写入。但是,如果您的应用程序可能遇到这些使用要求,并且尚未为 SQLite 编写,那么最好使用具有更细粒度锁定的其他内容,例如 SQL Server。

SQLite是一个很好的快速数据库,可以在独立应用程序中使用。有几十个GUI可以创建你想要的模式和几乎任何你想要的语言(C#/C/C++/Java/Python/Perl)的接口。它也是跨平台的,适用于Windows,Linux,Mac,Android,iOS和许多其他操作系统。

以下是SQLite的一些优点:

  • 性能

  • 在许多情况下,至少比MySQL/PostgreSQL快2-3倍。

  • 没有套接字和/或 TCP/IP 开销 - SQLite 在与应用程序相同的进程中运行。

  • 功能性

  • 子选择、触发器、事务、视图。

  • 高达 281 TB 的数据存储。

  • 内存占用量小。

  • 自包含:无外部依赖。

  • 原子提交和回滚可保护数据完整性。

  • 易于移动的数据库。

  • 安全

  • 每个用户都有自己完全独立的数据库。

相关内容

最新更新