Linq b-tree(b +,b *无论如何)有关DB的操作数集合?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq b-tree(b +,b *无论如何)有关DB的操作数集合?相关的知识,希望对你有一定的参考价值。

我只是想知道Linq的内部操作与传统的RDB相比。据我所知,RDB有b-tree并使用树来操作,如SELECT,JOIN,GROUP BY等。

因此,Linq的表达式看起来像SQL,我认为这需要类似的操作。

首先,我想它可能是不同的方式,因为RDB是在文件中保存许多数据,但Linq只是在内存中运行。但是,我是C#的初学者 - 我是Java程序员 - 和其他经历过C#的人说Linq是针对大型数据的,这表明在小型集合中表现不佳。

如果Linq是为大数据设计的,Linq可能将其操作数作为树结构,并且它像RDB一样操作SELECT,JOIN,GROUP BY。或者,我猜,Linq只是将SQL语法转换为没有树结构的延迟加载的功能操作。

简而言之,Linq使它成为操作数b-tree?如果没有,Linq如何处理它的操作数?获取线索是一些文件吗?

答案

大多数LINQ方法都是简单的迭代器,可以进行简单的计算,选择或投影。这就是SelectAnyFirstMax等的情况。其他像OrderByReverse正在使用内部缓冲区来重新排列元素。像GroupBy这样的其他人正在使用查找(类似于词典)来有效地创建分组。您可以自己学习source code并查看每种方法的内部工作原理。

以上是关于Linq b-tree(b +,b *无论如何)有关DB的操作数集合?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 压缩/b-tree 索引如何以及何时使用

如何在磁盘上布局 B-Tree 数据?

如何向女朋友介绍MySQL索引

如何让LINQ根据文化订购?

如何使用 Linq 查询查找分数范围(没有最高分数)

如何给定一组预定的键,重新排序键,以便在插入 B-Tree 时使用最少数量的节点?