首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非常快的.NET 4嵌入式数据库

非常快的.NET 4嵌入式数据库
EN

Stack Overflow用户
提问于 2011-02-21 18:06:02
回答 3查看 2.7K关注 0票数 4

我正在寻找一些用于.net 4的快速嵌入式DB (最好是在内存中)。

我通常的操作非常简单:给定一个大约有50个表和30k行(最大可以是1m)的大表,执行像SELECT AVG(col1) FROM table WHERE col2 IN (?)和col3 IN (?)和col4 < ?,SELECT col1 FROM table WHERE same等。列是字符串或浮点数。

我已经从简单的.net DataTables + LINQ开始了,它们速度很快,但明显受到大小的限制(它在没有内存之前很久就崩溃了)。此外,没有我认为可以提高性能的索引。

然后,我尝试使用SQLite (devart适配器)进行SQL查询,它比内存中的数据表慢10倍。我已经对这个表中的所有列建立了索引,但这没有帮助。我认为SQLite被认为是最快的嵌入式数据库之一,所以它相当令人失望。

有没有快速且可扩展的替代方案?例如,像DataTable这样的索引可能会占用大量内存(例如,我不介意它会占用几it的ram)。

EN

回答 3

Stack Overflow用户

发布于 2011-02-21 18:12:14

内存数据库中支持SQLite,请参阅:http://sqlite.phxsoftware.com/

当您使用它时,您确定是在内存中使用它,而不是从磁盘中使用它吗?

票数 2
EN

Stack Overflow用户

发布于 2013-05-23 01:04:04

我建议你使用STSdb4。它是一个基于WaterfallTree的嵌入式.NET 4.0数据库--一种创新的数据索引结构。STSdb4比基于B树的数据库更快。它在使用顺序和随机键实时索引记录方面提供了惊人的速度。有一个database comparison tool可以帮助你做出决定。

上述基准测试工具包含以下数据库:

  • BrightstarDB

  • CassandraDB

  • Db4objects

  • Derby

  • Firebird

  • H2

  • HamsterDB

  • levelDB

  • MongoDB

  • MS SQL

  • MySQL

  • Oracle Berkeley

  • Perst

  • Postgre

  • RaptorDB

  • RavenDB

  • ScimoreDB

  • Siaqodb

  • SQLite

  • STSdb

  • VelocityDB

  • Volante

  • Access 2013
票数 2
EN

Stack Overflow用户

发布于 2011-02-21 23:01:53

数组怎么样?

定义一个包含50列的类型,将数据加载到数组中,并对其执行LINQ查询。

你在LINQ to Objects中没有索引,但它仍然很快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5064589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档