有史以來最讓人感動的一次資料庫&SQL最佳化(DB & SQL TUNING)——半小時效能提升千倍
昨天,一個客戶現場人員急急忙忙打電話找我,說需要幫忙調優系統,因為經常給他們幹活,所以,也就沒多說什麼,先了解情況,據他們說,就是他們的系統最近才出現了明顯的反應遲鈍問題,他們的那個系統我很瞭解,軟硬體不會有問題,主機是頂級小機,儲存也是高階儲存,高度懷疑他們的應用出了問題。問他們是整個系統慢還是某個模組慢,他們也說不清楚,說這事兒前後有一個多月了,開始沒這麼嚴重,我們查了半天也沒找出問題,我們的dba們也一直在看,都沒找到具體原因,最近我們的客戶有點怒了,說根本就快不能用了,亞歷山大。。。到此為止,這沒法繼續溝通下去了,還是自己動手,豐衣足食吧。
讓他們幫忙下了典型時段的awr先看看再說,發過來後,摟了一眼,大體明白了,接著,向他們瞭解了相關的資料環境。
給出了方案,發了郵件。無非就是把一個過程重新改了下,認真檢查了語義和邏輯,沒問題,然後,他們認真核對了語義、邏輯和結果,也沒問題。另外一項就是建一個索引,確認沒問題後,把方案發了出去。後來各方溝通好了,最後確定,決定晚上負載低時實施方案,我負責晚上遠端保障,方案實施後,他們那邊說是好了很多,因為不是典型負載,和他們觀察了一段時間,確認各項指標都正常後,早點休息了。
上午一上班,現場客戶早早的發來了訊息,說:系統反應非常快,索引有關的模組,效能提升了一千倍以上,他們的客戶非常滿意和高興,他們當然更高興。也搞不清楚他們怎麼測的,精確不精確,反正解決了就好,不管了,接下來,看點資料。
讓我沒想到的是,他們的客戶居然還抄來了一封郵件,說:硬體沒升級擴容的情況下,效能居然能提升一千倍,這經驗也太值得推廣了。
看完郵件,回了郵件,對客戶的重視和反饋表示感謝。有點感動,畢竟中間還隔著一層客戶。
雖然本人覺得這次解決問題實在是太簡單,簡單到不好意思寫,其實每次也是這種感覺,覺得沒什麼可寫的。但畢竟這是部落格,還是寫下大體思路,希望對廣大同行有所幫助
1、過程是個自動維護資料的過程,因為資料量較大,單表大小達到了幾個T,可能出於效能的考慮,過程的作者用了迴圈多次對錶操作。該場景太常見了,我解決的這種程式設計問題至少不下10次,而且,目前為止,這種程式設計思想似乎還在蔓延。
2、加索引,由於該表最近資料量變大很多,之前索引問題沒暴露出來,現在出現了。該表索引列選擇性非常好,近乎唯一。
其實,資料量是效能問題的前提,沒資料,無論怎麼寫SQL,也不會出效能問題,資料量上來了,效能問題就出現了,很多客戶效能問題都有這麼個過程。
很小的兩個改動,分析解決時間前後算起來不過半小時,居然能給客戶解決問題,客戶還給了這麼正面的反饋,看來自己的工作還是很值得的。從另一個方面來說,客戶並不是有些人說的怎麼挑剔和難伺候,經驗說明,客戶還是很講道理、容易打交道和容易滿足的。如果說客戶不滿意,我們服務方更應該從自己的服務上多找找原因。
此外,看來國內資料庫行業的應用水平,確實還有待於提高,客戶能用到我們,說明我們還有價值和市場。
繼續加油!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2121016/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 透過預熱來最佳化PG資料庫的SQL效能資料庫SQL
- PG資料庫SQL最佳化小技巧資料庫SQL
- SQL Server 資料庫 最佳化 效能瓶頸SQLServer資料庫
- 人以負熵為食——讀《資訊簡史》有點小感覺熵
- 有史以來最出彩的程式語言名字
- 資料庫效能 常用SQL資料庫SQL
- 使用sql tuning advisor最佳化sqlSQL
- 監控資料庫效能的SQL資料庫SQL
- 神奇的 SQL 之效能優化 → 讓 SQL 飛起來SQL優化
- mysql資料庫SQL最佳化MySql資料庫
- UData查詢引擎最佳化-如何讓一條SQL效能提升數倍SQL
- 使用mysqldump以SQL格式來dump資料MySql
- 開務資料庫魏可偉 讓資料庫會思考—SQL最佳化技術的挑戰與未來資料庫SQL
- 資料庫效能最佳化(database tuning)效能最佳化絕不僅僅只是索引資料庫Database索引
- mysql資料庫SQL最佳化2MySql資料庫
- mysql資料庫SQL最佳化3MySql資料庫
- 【SQL】Oracle資料庫sql最佳化小技巧索引不管用怎麼辦01SQLOracle資料庫索引
- WIN7下配置ODBC資料來源時,只有SQL SERVER驅動,沒有DB2,ORACLE和其他的驅動Win7SQLServerDB2Oracle
- 五種最讓人“難以預料”的資料洩露方式!
- SQL資料庫查詢最佳化技巧提升網站訪問速度的方法SQL資料庫網站
- oracle SQL最佳化器SQL Tuning Advisor (STA)OracleSQL
- Oracle SQL最佳化之sql tuning advisor(STA)OracleSQL
- 一次資料庫的簡單效能最佳化資料庫
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- Sql最佳化(十六) 使用陣列技術提升效能SQL陣列
- oracle資料庫效能監控的SQL(轉)Oracle資料庫SQL
- 監控資料庫效能的SQL彙總資料庫SQL
- 資料庫最佳化技巧 - SQL語句最佳化資料庫SQL
- SQL資料庫程式設計大賽隨感SQL資料庫程式設計
- 資料庫對比SQL SERVER 、 ORACLE、DB2資料庫SQLServerOracleDB2
- SQL Server 移動資料庫SQLServer資料庫
- 資料庫效能SQL監控指令碼資料庫SQL指令碼
- 修改SQL Server資料庫表的建立時間最簡單最直接有效的方法SQLServer資料庫
- Sql最佳化(二十二) 自動調優工具:sql tuning advisor和sql profile介紹SQL
- 《Valorant》成有史以來首發最成功的免費PC遊戲遊戲
- 如何保持Oracle資料庫SQL效能的穩定性Oracle資料庫SQL
- sql tuningSQL
- 深入SQL Server資料庫速度提升問題(一)SQLServer資料庫