原創(chuàng)|使用教程|編輯:龔雪|2014-01-15 09:14:52.000|閱讀 259 次
概述:Linq to SQL Profiler是由以色列著名公司Hibernating Rhinos開發(fā)出來的數(shù)據(jù)庫工具。并且該軟件是由 OR/M 社區(qū)的高層領(lǐng)導(dǎo)人親自開發(fā)設(shè)計(jì),能夠精準(zhǔn)的幫助優(yōu)化App的冗余的代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
避免太多的連接:
例如下面的一段代碼,分析器能檢測(cè)到該查詢含有大量的連接:
select * from Blogs blog0_ inner join Posts posts1_ on blog0_.Id = posts1_.BlogId inner join Comments comments2_ on posts1_.Id = comments2_.PostId inner join Users user3_ on posts1_.UserId = user3_.Id inner join UsersBlogs users4_ on blog0_.Id = users4_.BlogId inner join Users user5_ on users4_.UserId = user5_.Id
含有大量連接的查詢有可能導(dǎo)致性能問題。
每一條連接都需要額外增加數(shù)據(jù)庫的負(fù)擔(dān),因此一個(gè)查詢隨著包含的連接的增加,其對(duì)資源的占用也會(huì)迅速提高。考慮到數(shù)據(jù)庫對(duì)處理連接的優(yōu)化方面,我們建議與其將多個(gè)連接做到同一個(gè)查詢里,不如分開做多個(gè)查詢。
對(duì)于OLTP系統(tǒng),你需要考慮如何簡(jiǎn)化你的查詢或者是數(shù)據(jù)模型。當(dāng)然,我們也不建議完全避免使用連接,只是強(qiáng)烈建議查詢里不要包含有大量數(shù)目的連接。
另外一點(diǎn)需要注意的是,Cartesian products在查詢里是含有連接的,這種連接在不經(jīng)意間產(chǎn)生了并且在開發(fā)過程中容易被忽略。
>>歡迎免費(fèi)下載和試用Linq to SQL Profiler
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn