目前創新互聯建站已為成百上千的企業提供了網站建設、域名、網站空間、網站托管維護、企業網站設計、東遼網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
經現場同事反映,他們用的好好的XML 導出工具最近一直報錯,經常報數據庫連接超時,查看數據庫發現已經有100G 以上有空間了。
但導出數據的存儲過程里面每次按時間只導1000多條數據,近理說有時間過濾應該不會產生問題。
將存儲過程拉到SQL SERVER 中執行,發現需要5分鐘,

--創建臨時表用來存放數據create table #temp( id varchar(10), name varchar(20), zg_id varchar(10), ks_id varchar(10) )--按時間段插入數據insert into #temp(id,name)select id,name from tb1(nolock)where beginTime between '20150606' and '20150706'--按已有的數據關聯其它表,補全其它數據update #tempset zg_id=b.idfrom #temp a,tb_zg b(nolock)where a.zg_id=b.idupdate #tempset ks_id=b.idfrom #temp a,tb_ks b(nolock)where a.ks_id=b.id

而查詢出來的數據只有幾千條。
仔細分析得知,剛開始存儲過程將三張表的數據插入到一個臨時表然后再做處理。
經過查詢發現三張表每張表的數據都超過700萬行,每張表的關聯字段都是主鍵,且第一張表已經用時間段來過慮,也就是說只查詢第一張表,且按時間段來過慮的話不到一秒。
因些我把第一張表的數據插入到臨時表。
當前題目:SQL存儲過程優化經驗
本文網址:http://www.yijiale78.com/article24/gjheje.html
成都網站建設公司_創新互聯,為您提供網站排名、微信公眾號、做網站、、軟件開發、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯