我只是想知道Linq的内部操作是否与传统RDB相提并论。 据我所知,RDB具有b树,并使用该树进行操作,例如SELECT,JOIN,GROUP BY等。
因此,Linq的表达式看起来像SQL,我认为这需要类似的操作。
起初,我想可能是不同的方式,因为RDB是将许多数据保存在文件中,而Linq只是在内存中操作。 但是,我是C#的初学者-我是Java程序员-,其他有C#经验的人都说Linq是针对大数据的,这表明在小型集合中表现不佳。
如果Linq是为大数据设计的,则Linq的操作数可能是树结构,并且它像RDB一样操作SELECT,JOIN,GROUP BY。或者,我想,Linq只是将SQL语法转换为功能性操作以进行无树结构的延迟加载。
简而言之,Linq使它成为操作数b树?如果不是,Linq如何处理其操作数?是否有一些线索的文件?
答案 0 :(得分:0)
大多数LINQ方法都是简单的迭代器,可以进行简单的计算,选择或投影。 Select
,Any
,First
,Max
等就是这种情况。其他OrderBy
和Reverse
等都使用内部缓冲区来重新排列要素。其他类似GroupBy
的人正在使用查找(类似于字典)来有效地创建分组。您可以自己研究source code,并查看每种方法的内部原理。