最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sqlserver not in 語(yǔ)句使程充崩潰

 更新時(shí)間:2011年12月17日 01:52:04   作者:  
以前一直以為優(yōu)化在百萬(wàn)級(jí)的表中才會(huì)有意義,這次的事件改變了我的看法
兩張表 組織架構(gòu)表(Organise) 和 工資發(fā)放歷史記錄表 (WagePerMonthHis)
兩張表通過(guò) Organise.Item_id 和 WagePerMonthHis.OrgIdS 進(jìn)行關(guān)聯(lián)
Organise表(以下簡(jiǎn)稱O表)中大約有6000條記錄11個(gè)字段 ,WagePerMonthHis(以下簡(jiǎn)稱W表)計(jì)有 125萬(wàn)條記錄 和 25個(gè)字段

原程序中一段如下的語(yǔ)句
是查詢所有不在W表的組織架構(gòu)層級(jí)為2的記錄
復(fù)制代碼 代碼如下:

select OrgId as 公司編碼,OrgName as 公司名稱
from Organise
where OrgLev=2
and item_id not in
(select OrgidS from WagesPerMonthHis
where WagesYear='2010' and WagesMonth=
'01' Group by OrgidS,OrgNameS)
order by Orgid

語(yǔ)句執(zhí)行要33秒之久,服務(wù)器的配置是比較高的:16核心4CPU,24G內(nèi)存,且內(nèi)存和CPU在執(zhí)行時(shí)都沒(méi)有出現(xiàn)瓶頸,開(kāi)始以為是 (select OrgidS from WagesPerMonthHis
where WagesYear='2010' and WagesMonth=
'01' Group by OrgidS,OrgNameS) 這條語(yǔ)句執(zhí)行緩慢所致,單獨(dú)執(zhí)行這條卻發(fā)現(xiàn)執(zhí)行速度很快,大約不到2秒就出來(lái)了,于是癥結(jié)出來(lái)了,是not in 這個(gè)全掃描關(guān)鍵詞帶來(lái)的性能下降.最直接的是導(dǎo)致頁(yè)面失去響應(yīng),一個(gè)關(guān)鍵功能使用不了.

試了not exist語(yǔ)句,發(fā)現(xiàn)效果是一樣的,并不象網(wǎng)上所說(shuō)可以提高很多性能.

于是重新優(yōu)化語(yǔ)句如下
復(fù)制代碼 代碼如下:

select a.OrgId as 公司編碼,a.OrgName as 公司名稱,a.item_id
from Organise a
left outer join (select distinct b.OrgIdS from WagesPerMonthHis b
where WagesYear='2010' and WagesMonth='01') as b
on a.item_id = b.OrgidS
where a.OrgLev = 2
and b.OrgIdS is Null
order by 公司編碼

改用左外連接(其實(shí)左連接也可以)后,整個(gè)語(yǔ)句執(zhí)行速度為400ms, 33秒與400ms 我想是很多人沒(méi)想到的.

相關(guān)文章

  • sqlserver 數(shù)據(jù)庫(kù)壓縮與數(shù)據(jù)庫(kù)日志(ldf)壓縮方法分享

    sqlserver 數(shù)據(jù)庫(kù)壓縮與數(shù)據(jù)庫(kù)日志(ldf)壓縮方法分享

    數(shù)據(jù)庫(kù)在使用中,冗余的數(shù)據(jù)不斷的增加(數(shù)據(jù)刪除也不會(huì)減?。?,導(dǎo)致數(shù)據(jù)庫(kù)不斷的增大!所以該給你的數(shù)據(jù)庫(kù)減減肥了
    2011-12-12
  • 如何創(chuàng)建支持FILESTREAM的數(shù)據(jù)庫(kù)示例探討

    如何創(chuàng)建支持FILESTREAM的數(shù)據(jù)庫(kù)示例探討

    FILESTREAM使用一種特殊類型的文件組,因此在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),必須至少為一個(gè)文件組指定 CONTAINS FILESTREAM 子句接下來(lái)為你詳細(xì)介紹下如何創(chuàng)建支持 FILESTREAM 的數(shù)據(jù)庫(kù)
    2013-03-03
  • SQL?Server數(shù)據(jù)庫(kù)生成與執(zhí)行SQL腳本詳細(xì)教程

    SQL?Server數(shù)據(jù)庫(kù)生成與執(zhí)行SQL腳本詳細(xì)教程

    為了方便可以把需要連續(xù)執(zhí)行的SQL語(yǔ)句寫(xiě)到一個(gè)文本文件中,并且用.SQL作為擴(kuò)展名,這種文件叫做SQL腳本文件,下面這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫(kù)生成與執(zhí)行SQL腳本的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • sqlserver2017共享功能目錄路徑不可改的解決方法

    sqlserver2017共享功能目錄路徑不可改的解決方法

    這篇文章主要介紹了sqlserver2017共享功能目錄路徑不可改的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 數(shù)據(jù)庫(kù)性能優(yōu)化三:程序操作優(yōu)化提升性能

    數(shù)據(jù)庫(kù)性能優(yōu)化三:程序操作優(yōu)化提升性能

    程序訪問(wèn)優(yōu)化也可以認(rèn)為是訪問(wèn)SQL語(yǔ)句的優(yōu)化,一個(gè)好的SQL語(yǔ)句是可以減少非常多的程序性能的,下面列出常用錯(cuò)誤習(xí)慣,并且提出相應(yīng)的解決方案
    2013-01-01
  • SQL server中字符串逗號(hào)分隔函數(shù)分享

    SQL server中字符串逗號(hào)分隔函數(shù)分享

    繼SQl -Function創(chuàng)建函數(shù)數(shù)據(jù)庫(kù)輸出的結(jié)果用逗號(hào)隔開(kāi),在開(kāi)發(fā)中也有許多以參數(shù)的形式傳入帶逗號(hào)字條串參數(shù),需要的朋友可以參考下
    2016-10-10
  • 積分獲取和消費(fèi)的存儲(chǔ)過(guò)程學(xué)習(xí)示例

    積分獲取和消費(fèi)的存儲(chǔ)過(guò)程學(xué)習(xí)示例

    這篇文章主要介紹了積分獲取和消費(fèi)的存儲(chǔ)過(guò)程學(xué)習(xí)示例,這個(gè)只是學(xué)習(xí)一下存儲(chǔ)過(guò)程的使用方法,需要的朋友可以參考下
    2014-03-03
  • sql 聚集索引和非聚集索引(詳細(xì)整理)

    sql 聚集索引和非聚集索引(詳細(xì)整理)

    這篇文章主要介紹了聚集索引和非聚集索引的相關(guān)知識(shí),比較詳細(xì)整理了一些知識(shí)點(diǎn),需要的朋友可以參考下
    2014-07-07
  • sql語(yǔ)句中臨時(shí)表使用實(shí)例詳解

    sql語(yǔ)句中臨時(shí)表使用實(shí)例詳解

    當(dāng)需要的結(jié)果需要經(jīng)過(guò)多次處理后才能最終得到我們需要的結(jié)果時(shí),就可以使用臨時(shí)表,這里臨時(shí)表就起到了一個(gè)中間處理的作用,實(shí)現(xiàn)了分步處理,簡(jiǎn)化了問(wèn)題,這篇文章主要介紹了sql語(yǔ)句中臨時(shí)表使用方法,需要的朋友可以參考下
    2023-02-02
  • SQL 將一列拆分成多列的三種方法

    SQL 將一列拆分成多列的三種方法

    這篇文章主要介紹了SQL 將一列拆分成多列的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論

胶州市| 西林县| 文登市| 双辽市| 玉山县| 英超| 从化市| 宁明县| 平昌县| 浪卡子县| 韩城市| 蒙自县| 南岸区| 桑植县| 新建县| 仙居县| 南皮县| 阳原县| 弋阳县| 旬邑县| 彭山县| 特克斯县| 习水县| 朔州市| 个旧市| 大同县| 岐山县| 抚顺市| 绵竹市| 泰宁县| 静海县| 阿勒泰市| 孙吴县| 中西区| 福鼎市| 皋兰县| 谷城县| 宝清县| 内江市| 剑川县| 五原县|