我正在使用MS Access 2007在我的应用程序中插入和读取数据,但它确实很慢。
我有一个长期运行的应用程序,如果我从内存运行它需要 5 分钟,使用MS Access 2007需要 13 分钟!
我正在寻找一个更快但可移植的数据库选项,我正在使用.NET。我不是在寻找高级关系数据库的东西,只要它像一个像样的数据库一样,它对我来说已经足够了。
编辑:
我主要是从多个线程进行并发插入。
结果
我已经尝试过SQL Server Compact Edition 3.5 SP1,它与内存运行几乎相同所以比访问+快400倍,而不是72MB的依赖性我有1.5MB的依赖性,这很棒。
P.S。数据库已规范化,清理,压缩,我正在使用stored_procedures和本机客户端。所以我已经尝试了很多东西以使其更快。
答案 0 :(得分:8)
答案 1 :(得分:3)
来自sqlite wiki:
对于不会大量使用并发连接和复杂数据库功能的系统,SQLite是首选的速度恶魔。如果您需要大量并发连接,SQLite可能不是最佳选择。但是如果你需要很多速度和简单的单一连接设置,SQLite是我见过的最好的东西。
http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations
你可能还想看看mysql,pgsql或mssql(CE或Express(Both Free)), 根据您的需要。
编辑:根据您的评论,您可能需要在mysql,pgsql或mssql(express)等服务器上运行的东西
Edit2 :如果您主要进行插入操作,请确保表中没有未使用的索引,因为索引可能会使插入/更新速度变慢。
答案 2 :(得分:2)
SQL Server Express 2008.它是免费的,它是SQL Server。
答案 3 :(得分:2)
老实说,我认为你不会得到更快的结果。您的程序可能受I / O限制,这意味着磁盘的速度会降低您的速度。
您可以尝试SQL Compact Edition(CE),但我怀疑您会看到来自任何其他工具的结果缓慢或较慢。
答案 4 :(得分:1)
您也可以使用Firebird:www.firebirdsql.org
它免费且易于使用。有一些好的.net驱动程序。
如果您出售您的应用程序:MySQL不是免费的。