主頁 > 知識(shí)庫 > sqlserver not in 語句使程充崩潰

sqlserver not in 語句使程充崩潰

熱門標(biāo)簽:al智能電話機(jī)器人 蘭州語音外呼系統(tǒng)運(yùn)營商 銀川高頻外呼回?fù)芟到y(tǒng)多少錢 如何做地圖標(biāo)注圖鋪 成都電話外呼系統(tǒng)一般多少錢 最新人工智能電銷機(jī)器人 沒聽見電話機(jī)器人幫你接 陜西電銷外呼系統(tǒng)好用嗎 數(shù)字匠心電銷機(jī)器人
兩張表 組織架構(gòu)表(Organise) 和 工資發(fā)放歷史記錄表 (WagePerMonthHis)
兩張表通過 Organise.Item_id 和 WagePerMonthHis.OrgIdS 進(jìn)行關(guān)聯(lián)
Organise表(以下簡(jiǎn)稱O表)中大約有6000條記錄11個(gè)字段 ,WagePerMonthHis(以下簡(jiǎn)稱W表)計(jì)有 125萬條記錄 和 25個(gè)字段

原程序中一段如下的語句
是查詢所有不在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

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

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

于是重新優(yōu)化語句如下
復(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è)語句執(zhí)行速度為400ms, 33秒與400ms 我想是很多人沒想到的.
您可能感興趣的文章:
  • php對(duì)外發(fā)包引發(fā)服務(wù)器崩潰的終極解決方法分享[推薦]
  • linux下監(jiān)視進(jìn)程 崩潰掛掉后自動(dòng)重啟的shell腳本
  • Android 如何收集已發(fā)布程序的崩潰信息
  • js中關(guān)于一個(gè)分號(hào)的崩潰示例
  • jquery.uploadify插件在chrome瀏覽器頻繁崩潰解決方法
  • iOS 捕獲程序崩潰日志
  • 數(shù)據(jù)庫崩潰,利用備份和日志進(jìn)行災(zāi)難恢復(fù)
  • 詳解Android中處理崩潰異常
  • Android實(shí)現(xiàn)將應(yīng)用崩潰信息發(fā)送給開發(fā)者并重啟應(yīng)用的方法
  • 解決iOS7上UITextField限制字?jǐn)?shù)輸入導(dǎo)致崩潰問題的方法

標(biāo)簽:宜春 朔州 邢臺(tái) 本溪 通化 巴彥淖爾 鹽城 遼源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver not in 語句使程充崩潰》,本文關(guān)鍵詞  sqlserver,not,語句,使程,充,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqlserver not in 語句使程充崩潰》相關(guān)的同類信息!
  • 本頁收集關(guān)于sqlserver not in 語句使程充崩潰的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章