如果所有数据都放入内存,这意味着媒体速度要快得多,那么执行“SELECT .. WHERE ..”查询(过滤数据)的最快方法是什么?到目前为止,我脑海中的选项:
1) b 树状算法,但可能仍需要索引和更大的空间
2)固定长度数组,尺寸更小但可能更慢。
如果速度和大小都是问题,还有其他更好的方法吗
这取决于您的具体情况 - 您需要快速进行哪些操作,确切的大小是多少等等。一些例子:
AND
查询,通常维护一组排序列表(每个特征的列表)。这种数据结构称为倒排索引,搜索引擎经常使用它从给定查询中获取相关文档。(例如,Apache Lucene 使用这种数据结构)。底线:如果你打算做一些定制的事情来提高默认库的性能,你应该在设计你选择的数据结构之前考虑具体的问题细节。