今天介紹一下從業數據庫dba這麼多年,前段時間碰到的奇葩事情,說以前,提2個問題:sql
1,見到單個數據庫最多有多少張業務表數據庫
2,一個表有30多個字段,表裏就有一條數據,寫一個查詢就這一個表的sql,不關聯其餘表,不要用WAITFOR DELAY 等關鍵字,寫一個執行查詢要20秒以上的sql優化
之前我也從未關心過數據庫表有多少張, 寫SQL,通常也是儘可能去怎麼優化sql,怎麼把sql寫得約好約好,忽然就寫一個表的查詢,執行要20秒以上的sql,第一次碰到spa
如今就和你們介紹一下,我碰到的這2個狀況;3d
1, 某知名財務系統blog
一次財務系統出現異常,財務人員搞不定,之前的技術支持由於沒續費沒人管了,就找到咱們來處理,可能太機密,咱們都不知道有這個系統,檢查的過程發現,這個數據庫表裏有100萬多張表。看了一下每一個表的數據,業務表就像是一張憑證,可能天天財務監控
要導大量的業務憑證(幾千張左右),一個憑證就是一個表,幾年累計下來,100多萬張表,一點不奇怪。im
2,某知名OA系統技術
前段時間,業務人員一直反應系統慢,運行卡,監控了sql,發現一個查詢很耗時。SQL以下:數據
這個表hrmschedule表就一條數據,沒關聯其餘表,從2016年1月1號至今,天天作一次UNION ALL查詢,致使SQL語句自己很大,執行起來,解析運行都很慢。
部分語句截圖: