请问为何用了CompiledQuery.Compile之后速度反而慢了许多呢?
本帖最后由 romanchaos 于 2013-09-04 11:06:14 编辑 现有Sku和SkuInfo两张一对多的表,Sku为主表
第一种写法:
DateTime dt1 = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
var lstSku = (from sku in dataContext.SKU
join skuinfo in dataContext.SKUInfo on sku.Id equals skuinfo.SKUID
where sku.Uid == 2 && skuinfo.LID == 1
select new { skuid = sku.Id, sku = sku.SKU1, info = skuinfo.Title }).Skip(5).Take(2);
}
TimeSpan ts1 = DateTime.Now - dt1;
DateTime dt2 = DateTime.Now;
var query = CompiledQuery.Compile((DataClasses1DataContext dataContextTest) => (from sku in dataContextTest.SKU
join skuinfo in dataContextTest.SKUInfo on sku.Id equals skuinfo.SKUID
where sku.Uid == 2 && skuinfo.LID == 1
select new { skuid = sku.Id, sku = sku.SKU1, info = skuinfo.Title }).Skip(5).Take(2));
for (int i = 0; i < 10000; i++)
{
var lstSku2 = query(dataContext);
}
TimeSpan ts2 = DateTime.Now - dt2;
strB.Append(ts2 + "\n");