校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Cont()與Where().Count()有時性能差別如此之大!

Cont()與Where().Count()有時性能差別如此之大!

熱門標簽:百度地圖標注改顏色 貴州房產(chǎn)智能外呼系統(tǒng)供應商 臨沂智能電銷機器人加盟哪家好 外呼運營商線路收費 一個導航軟件能用幾個地圖標注點 小e電話機器人 申請400電話在哪辦理流程 鎮(zhèn)江網(wǎng)路外呼系統(tǒng)供應商 電銷外呼有錄音系統(tǒng)有哪些
想起我之前在此列表中加入了一個字段,用于方便提示管理員公司的產(chǎn)品列表是否有修改之類的狀態(tài)字段,于是可以斷定是加了此字段的原因。

首先,先看看我之前是如何寫這個提示狀態(tài)字段的,實體中加入ContentStatus,然后直接在Linq語句中Select 實體對象中加入ContentStatus=Product_Maintain.Count(C => C.CompanyID == company.ID C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4))>0?"產(chǎn)品有更新":""。這時我想應該是加入三元運算,linq在轉(zhuǎn)Sql時,產(chǎn)生過多的,Case,when ,then語句,三元運算增加了判斷會影響查詢性能,于是我去掉后,再運行查看頁面,仍然很慢,感覺不出快了多少。

這時,我想起了LinqPad,看看到底轉(zhuǎn)換生成了怎樣的Sql語句。運用Count(條件)生成Sql代碼如下:
復制代碼 代碼如下:

SELECT COUNT(*) AS [value]
FROM (
SELECT
(CASE
WHEN ([t1].[CompanyID] = ([t0].[ID])) AND ([t1].[IsDeleted] = @p0) AND (([t1].[AuditStatus] = @p1) OR ([t1].[AuditStatus] = @p2)) THEN 1
WHEN NOT (([t1].[CompanyID] = ([t0].[ID])) AND ([t1].[IsDeleted] = @p0) AND (([t1].[AuditStatus] = @p1) OR ([t1].[AuditStatus] = @p2))) THEN 0
ELSE NULL
END) AS [value]
FROM [Company_Product_Maintain] AS [t1]
) AS [t2]
WHERE [t2].[value] = 1


這時我發(fā)現(xiàn)一個很簡單的Count的Sql 語句,linq轉(zhuǎn)換后變得如此復雜,我直接在sql server中運行此代碼,發(fā)現(xiàn)查詢還是很慢,于是我直接把ContentStatus=Product_Maintain.Where(C => C.CompanyID == company.ID C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4)).Count()生成Sql語句為:

代碼
復制代碼 代碼如下:

SELECT COUNT(*) AS [value]
FROM [GasSNS_Company_Equipment_Maintain] AS [t1]
WHERE ([t1].[CompanyID] = ([t0].[ID])) AND ([t1].[IsDeleted] = @p0) AND (([t1].[AuditStatus] = @p1) OR ([t1].[AuditStatus] = @p2))

發(fā)現(xiàn)運行速度那是快了一個數(shù)量級啊!
后臺列表查詢結(jié)果速度大大提升有圖為證(聲明:以下圖都為項目中截圖,不是簡單的單表查詢,還連了用戶表,詳細表等數(shù)量也都挺大的):

 圖1為Count結(jié)果,用了35秒,哇塞!

 

圖2為Where(條件).Count()結(jié)果,同樣的數(shù)據(jù)只用了4秒鐘,差了10倍!

 

然后為了取值方面我還是加入三元運算,ContentStatus=Product_Maintain.Where(C => C.CompanyID == company.ID C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4)).Count()>0?"產(chǎn)品有更新":""。結(jié)果如下:

 

真的是Count()與 Where()區(qū)別,不可能這么大差距吧?于是我單寫
 Product_Maintain.Where(C => C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4)).Count()  與
 Product_Maintain.Count(C => C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4))   
發(fā)現(xiàn)速度差不多,生成的代碼是一樣的。
復制代碼 代碼如下:

SELECT COUNT(*) AS [value]
FROM [GasSNS_Company_Equipment_Maintain] AS [t0]
WHERE ([t0].[IsDeleted] = @p0) AND (([t0].[AuditStatus] = @p1) OR ([t0].[AuditStatus] = @p2))

原來是我如果在Select中取某表的數(shù)量并且條件中使用了之前from后的某個變量時,這時用Count(條件)和Where(條件).Count()產(chǎn)生代碼才會不同,查詢速度才會出現(xiàn)數(shù)量級的差別。
代碼
復制代碼 代碼如下:

//效率低版本:
from company in Company
select new
{
contacter = v.ContacterID,
count = Product_Maintain.Count(C => C.CompanyID == company.ID C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4))
}


復制代碼 代碼如下:

//效率高版本:
from company in Company
select new
{
contacter = v.ContacterID,
count = Product_Maintain.Where(C =>C.CompanyID == company.ID C.IsDeleted == 0 (C.AuditStatus == 0 || C.AuditStatus == 4)).Count()
}

否則,Count()與Where().Count()生成的SQL語句是相同的,效率也一樣。
      總結(jié)到此,望各位看官以后要注意!本人入園兩年來,第一發(fā)在首頁,請各位看官不吝賜教!
      
      謝謝各位看官的指點,聲明下以上查詢圖都LinqPad查詢結(jié)果截圖。至于為啥4秒左右為LinqPad查詢時間,Linq生成Sql語句在Sql Server中執(zhí)行不到1秒,以下截圖作解釋:
   

標簽:延邊 澳門 保定 晉城 三明 嘉興 合肥 日照

巨人網(wǎng)絡通訊聲明:本文標題《Cont()與Where().Count()有時性能差別如此之大!》,本文關(guān)鍵詞  Cont,與,Where,.Count,有時,性能,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Cont()與Where().Count()有時性能差別如此之大!》相關(guān)的同類信息!
  • 本頁收集關(guān)于Cont()與Where().Count()有時性能差別如此之大!的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲国产精品视频| 国产日产欧美精品一区二区三区| 成人av资源网站| 国产九色精品成人porny| 美女视频一区二区| 美国毛片一区二区三区| 免费精品视频最新在线| 美脚の诱脚舐め脚责91| 美国av一区二区| 国内精品国产成人国产三级粉色 | 久久久久久久综合日本| 日韩色视频在线观看| 精品国产91九色蝌蚪| 精品国产污污免费网站入口 | 国产一区二区三区综合| 精品午夜一区二区三区在线观看| 国产在线一区二区综合免费视频| 国产在线精品一区二区不卡了| 国产福利不卡视频| 波多野洁衣一区| 欧美日韩大陆在线| 久久久久久久久久久久久夜| 国产精品电影院| 丝瓜av网站精品一区二区| 美女脱光内衣内裤视频久久网站| 国产成人午夜精品影院观看视频| 不卡一区在线观看| 337p亚洲精品色噜噜狠狠| 久久嫩草精品久久久久| 亚洲精品国产无套在线观| 日av在线不卡| 99国产欧美久久久精品| 欧美高清性hdvideosex| 国产区在线观看成人精品| 亚洲一区在线电影| 国产福利91精品一区| 欧美亚洲日本国产| 久久久亚洲午夜电影| 亚洲一区二区美女| 国产91精品一区二区麻豆亚洲| 欧美日韩色一区| 欧美激情艳妇裸体舞| 日韩精品成人一区二区三区| 国产成人精品亚洲午夜麻豆| 欧美顶级少妇做爰| 日韩毛片高清在线播放| 国产呦萝稀缺另类资源| 欧美日韩综合在线免费观看| 久久精品人人做| 麻豆成人综合网| 欧美三片在线视频观看| 中文字幕免费观看一区| 久久99国产精品尤物| 欧美日韩国产三级| 亚洲精品第1页| 成人av电影观看| 久久久99精品免费观看| 免费观看日韩电影| 欧美丝袜第三区| 亚洲精品国产高清久久伦理二区| 国产精品一级片| 337p日本欧洲亚洲大胆精品 | 亚洲激情图片小说视频| 国产成人av电影免费在线观看| 日韩欧美另类在线| 亚洲成av人片一区二区梦乃| 在线观看av一区二区| 亚洲人成在线播放网站岛国| 国产精品99久久久久久似苏梦涵 | 免费成人在线观看视频| 欧美三级韩国三级日本一级| 亚洲综合一二三区| 色美美综合视频| 亚洲高清免费视频| 欧美亚洲图片小说| 日日骚欧美日韩| 91精品国产综合久久香蕉的特点| 丝袜脚交一区二区| 日韩一区二区在线免费观看| 日韩精品一二三| 日韩一级免费观看| 精品在线免费观看| 久久综合九色综合欧美98 | 99re在线精品| 亚洲欧美一区二区不卡| 91亚洲精华国产精华精华液| 亚洲欧美色综合| 欧美日韩国产小视频| 日本欧美一区二区三区| 精品久久人人做人人爱| 国产精品1区2区3区| 国产精品丝袜在线| 日本乱人伦aⅴ精品| 午夜视频一区二区三区| 欧美一区二区三级| 国产一区不卡在线| 国产精品国产三级国产普通话99| 波多野结衣的一区二区三区| 亚洲韩国一区二区三区| 欧美成人精品高清在线播放| 国产精品一区二区久久精品爱涩| 日韩一区在线播放| 在线播放日韩导航| 国产白丝网站精品污在线入口 | 欧美日韩中字一区| 美国精品在线观看| 中文字幕日韩精品一区| 欧美亚洲日本一区| 麻豆久久一区二区| 国产精品久久福利| 678五月天丁香亚洲综合网| 国产精品1024久久| 亚洲福利视频导航| 国产精品日韩成人| 在线综合亚洲欧美在线视频| 国产成人8x视频一区二区| 性做久久久久久久免费看| 国产欧美精品国产国产专区| 欧美日韩你懂得| www.久久精品| 国产精品香蕉一区二区三区| 亚洲成人黄色小说| 中文字幕一区二区三区四区| 日韩精品一区二区三区视频在线观看 | 99久久精品国产精品久久| 亚洲成国产人片在线观看| 精品粉嫩超白一线天av| 欧美亚洲图片小说| www.一区二区| 国产不卡一区视频| 久久99国产精品久久99| 污片在线观看一区二区| 亚洲最快最全在线视频| 中文字幕亚洲一区二区va在线| 久久久噜噜噜久久中文字幕色伊伊| 欧美色图天堂网| 欧洲国产伦久久久久久久| 成人动漫一区二区三区| 国产成人精品免费| 久久福利资源站| 日韩成人精品在线| 亚洲高清中文字幕| 亚洲国产视频直播| 亚洲综合999| 亚洲国产一区二区在线播放| 亚洲美女屁股眼交3| 亚洲色图视频网| 亚洲欧洲成人av每日更新| 国产精品丝袜一区| 欧美极品少妇xxxxⅹ高跟鞋| 国产偷国产偷精品高清尤物| 欧美tickling挠脚心丨vk| 日韩一区二区三区av| 欧美一区二区性放荡片| 91精品欧美久久久久久动漫| 欧美一二区视频| 久久亚洲影视婷婷| 国产精品美女视频| ...xxx性欧美| 亚洲成在人线在线播放| 亚洲成人激情av| 日本欧美一区二区在线观看| 麻豆精品一二三| 国产一区二区在线免费观看| 国产99精品视频| aaa亚洲精品| 欧美唯美清纯偷拍| 日韩视频免费观看高清完整版在线观看| 欧美一级二级三级蜜桃| 久久综合久久99| 亚洲久草在线视频| 婷婷综合另类小说色区| 久久精品久久久精品美女| 国产.欧美.日韩| 在线观看日韩高清av| 91精品国产91综合久久蜜臀| 精品久久久久久亚洲综合网| 日本一区二区成人在线| 尤物视频一区二区| 蜜臀a∨国产成人精品| 国产成人a级片| 色婷婷国产精品综合在线观看| 欧美色图天堂网| 国产日本亚洲高清| 亚洲h精品动漫在线观看| 国精品**一区二区三区在线蜜桃| 成人精品小蝌蚪| 欧美日韩www| 国产视频亚洲色图| 午夜影视日本亚洲欧洲精品| 国产一区二区影院| 欧美性xxxxxx少妇| 国产日韩精品一区| 午夜国产精品一区| 国产成人在线视频播放| 欧美日韩一区二区三区四区五区| 国产日产欧美一区| 六月丁香综合在线视频| 色婷婷激情久久| 中文字幕精品一区二区精品绿巨人 |