我有几个中型数据集在内存中,我需要能够快速筛选和查找信息。数据集足够小,我不希望每次需要输入时都会遇到去数据库的性能问题,但足够大,我真的需要以某种方式对数据进行索引。从内存数据集中筛选和查找
目前,我将POCO对象与一个或多个词典用于索引。当我需要通过特定键找到某些内容时,这非常适用,但有时情况并非如此。作为一个例子,我经常需要在特定的日期时间范围内找到一个条目。有时我需要最低价格的入场券。大多数情况下,查询会同时查看几个简单的键和一个或两个其他字段。
是否有任何工具,产品,库(针对.NET框架),可以帮助我呢?或者我需要拿起那些尘土飞扬的旧算法书,并开始寻找搜索树?
一个例子:
旅行
- DepartureCode
- DestinationCode
- HotelCode
- RoomCode
- 日期
- 价格
我需要查询,以类似“让我2010-03-09 2010-03-12与之间最便宜的旅行,其中DepartureCode = LAX DestinationCode = NYC”
出于好奇,你有没有尝试过使用DataView?在这个问题中的讨论似乎表明,它与DataGrid相比可以非常快速地执行过滤器和搜索:http://stackoverflow.com/questions/722095/c-dataset-index – 2010-03-10 13:24:41
我认为我原本是尝试过,但是我一次只能在一列上创建索引。 – CodingInsomnia 2010-03-11 15:30:21