這個計算機系研三男生總把工牌掛反,此刻緊張得抱著懷里筆記本電腦的樣子像是抱著顆炸彈。
“徐、徐工...”小林的聲音帶著變聲期尾聲的顫抖,“昨天您讓我做的索引重建方案...”
8:15第三會議室
晨會的投影儀發出輕微的電流聲,二十余名工程師的筆記本屏幕像星群般亮起。
徐璐剛要開口,突然發現大屏上的《華東區性能優化方案》文檔里,一張b樹索引示意圖明顯錯位——聚集索引的葉子節點竟指向了非聚集索引。
“這是誰做的拓撲圖?”負責erp系統的老張皺眉敲了敲桌子,“物理結構都畫反了,照著執行要出大事故。”
小林“騰”地一下站起來,后腰撞翻椅子的聲響在會議室里炸開。
劇烈的聲響讓年輕人更緊張了,他臉色煞白,手肘又碰倒了劉洋的咖啡杯,褐色的液體在會議桌上蜿蜒成河。
他一邊快速收拾著桌面一邊道歉,“對...對不起!我昨晚用visio重繪時沒注意圖層順序...”他的聲音越來越小,“本來是想優化復合索引...”
徐璐看著文檔末尾“實習生林致遠”的署名,腦海里記憶閃現,她忽然想起幾個月前自己在消防通道砸出的高跟鞋;又想到當初實習生剛到位時她恨不得把工牌摔在hr臉上質問“為什么給我派菜鳥?”
此刻小林像做錯事的孩子一樣低著頭手足無措。
“大家先安靜。”她叩了叩麥克風,“小林,你說說為什么要調整這個索引?”
年輕人怔住了,投影儀藍光在他鏡片上跳動:“因為...因為監控到全表掃描次數...”
“具體數值?”徐璐打斷他。
“昨天14時至18時,vsql_pn顯示全表掃描觸發137次,其中82次集中在inventories表。”小林的聲音突然流暢起來,“我對比了執行計劃,發現現有索引的include列沒有覆蓋location_id字段。”
會議室里面,劉洋悄悄豎起大拇指。徐璐注意到這個細節,嘴角微微上揚:“思路正確,但實現方式有問題。知道為什么老張一眼看出拓撲圖錯誤嗎?”
“因為...物理結構...”
“在oracle里,非聚集索引的葉子節點存儲的是rowid,不是數據頁指針。”徐璐調出昨天深夜的ash報告,“就像這個tx鎖爭用,你以為調整索引就能解決,其實根源在應用程序沒有正確使用悲觀鎖。”
她點擊鼠標,大屏切換成密密麻麻的等待事件圖譜:“但敢于挑戰遺留系統值得肯定,會后和劉工一起重做方案——記得先檢查undo表空間是否夠用。”
8:45茶水間
小林堵住正在洗杯子的徐璐,九十度鞠躬時眼鏡差點滑落:“謝謝徐工!我保證不會再...”
“把腰直起來。”徐璐甩了甩手上的水珠,“知道我為什么留你嗎?”她抽出一張擦手紙,一邊擦拭一邊說道,“上周巡檢腳本里那個自動清理過期歸檔日志的模塊,是你偷偷加的吧?”
年輕人瞳孔地震——那是他利用下班時間熬了兩周寫的python腳本。
“代碼里十七處硬編碼路徑,八處沒處理異常。”她把擦手紙扔進垃圾桶,“但用rsync增量同步歸檔日志的思路不錯,比某些老油條強。”
說罷她轉身走向監控中心,聽到身后傳來壓抑的歡呼。
走廊拐角處,小張正舉著手機錄像:“徐姐當年罵哭三個實習生的傳說終結了?”
“再拍信不信下次你哭著喊著求我都不幫你了。”徐璐作勢要搶手機,忽然瞥見屏幕里帶著笑意的自己。</p>