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的操作数集合?的主要内容,如果未能解决你的问题,请参考以下文章

一个key 在10w k/v 找到对应的. (B-tree), 这10w放进B-tree 会有多少层.

索引的分类--B-Tree索引和Hash索引

执行 Linq 组加入是不是有更好的解决方案?

MySQL都有哪些索引类型

MySQL索引

数据结构--- B树(B-Tree)