热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Linq的执行效率及优化

本文由编程笔记#小编为大家整理,主要介绍了Linq的执行效率及优化相关的知识,希望对你有一定的参考价值。描述:项目中使用了linq,发现写的顺序不一样最后的结果也不一样,效率也
本文由编程笔记#小编为大家整理,主要介绍了Linq的执行效率及优化相关的知识,希望对你有一定的参考价值。


描述:项目中使用了linq,发现写的顺序不一样最后的结果也不一样,效率也不一样。


Linq的执行效率对比


List<int> source = new List<int>();
var rand = new Random();
int i = 5000;
while (i > 0)
{
i
--;
source.Add(rand.Next(
1, 500));
}
Stopwatch watch
= new Stopwatch();
watch.Restart();
var temp2 = from s in source orderby s where s > 100 select s;
int count2 = temp2.Count();
watch.Stop();
Console.WriteLine(
"orderby s where s > 100: " + watch.ElapsedTicks);
watch.Restart();
var temp1 = from s in source where s > 100 orderby s select s;
int count = temp1.Count();
watch.Stop();
Console.WriteLine(
"where s > 100 orderby s: " + watch.ElapsedTicks);

效果如图:

技术分享图片

效率相差还是蛮大的,差不多10倍,所以linq的执行要按照一定的顺序,不能随心所欲。


Linq优化

linq和sql的语法差不多,所以可以按照sql的执行顺序对linq进行优化,建议顺序


1.FROM
2.WHERE
3.GROUP BY
4.HAVING
5.SELECT
6.DISTINCT
7.UNION
8.ORDER BY

 


推荐阅读
author-avatar
碧落无双2502879687
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有