嘿,我的代码出了问题,我比较了在数据库上实现查询的三种方法
现在我得到的结果是预编译的LingQuery比LinQ查询快5倍,但更有趣的是标准SQL查询比预编译的LinqQuery快大约十倍。我的Queries运行的表是一个简单的表,与其他表没有关联。
使表变得有趣的事实是它由5列组成,它们代表了我所说的主键。所有列都是唯一的,因此表中没有看起来像另一行的行。所有列都已编制索引。
有没有人知道LinQ出了什么问题?
亲切的问候
塞巴斯蒂安
答案 0 :(得分:2)
您是否看过linq生成的实际查询?将它们与您的SQL查询进行比较可能会给您一些答案。
您可以使用SQL事件探查器或监听linq datacontext的Out属性吗?你可以在控制台应用程序中这样做:
DataContext ctx = new ...;
ctx.Log = Console.Out;
//Now execute the linq query, and the query will be output to the console.
答案 1 :(得分:2)
只需确保您的查询不会被缓存,这可能会导致结果出现偏差。
答案 2 :(得分:1)
你是如何测量的?您使用所有查询结果,还是仅执行查询? (例如,LINQ可能会为您取结果。)
第二次执行查询时是否会发生这种情况,或者您只是在测量首次执行时间?