新到一個公司做DBA遇到的困局


今天是我我剛到一個公司上班3個月,2個月的時候我轉正了,我在兩個月內把公司主要系統的性能壓力降低了。

可是我更加困惑了。我發現服務器CPU的壓力來源與數據庫的拙劣設計,查詢的性能低下。由於公司系統是一個歷史遺留問題,

這我無能為力,但查詢我可以改變吧,公司存儲過程和查詢語句統一用一種格式,存儲過程的參數一般在10個以上,然后還給了默認值,

例如:

create proc test

(

  @a1 int=-1,

  @a2 nvarchar(50)='',

.......

)

在查詢語句中,會發現全部都是:

select col1,col2......,coln from tb1 join tb2 on tb1.id=tb2.id join ......

where (@a1=-1 or tb1.id=@a1)

and (@a2='' or tb1.name in (select * from function_split(@a2,',')))

......

這樣寫的結果就是大多數查詢都是使用並行查詢,我通過限制並行查詢度和閥值調整了,依然不夠。

叫相關負責人改,也不理會。

 

當你知道系統問題在哪里,也知道怎么解決,但卻無法下手的時候,真的很無奈,困惑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM