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

问题描述 投票:-1回答:1

我只是想知道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如何处理它的操作数?获取线索是一些文件吗?

c# linq
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.