ある火消しの舞台

というわけで月末月初にDBサーバが5時間近くCPU100%を記録したことによって火消し部隊召集である。またまたサモンされてしまった。
 今回もOracle SQL Analyzeを使って高負荷のSQLを見つけて、「おまえのここがダメコード」とか「ANALYZEする」とか「ヒント付けて」とかそんなウンチクを言いまくる仕事である。
 これがなかなかどうしてツボにはまってくると楽しいのだ。PreparedStatement使ってないのにカーディナリティの高い列に対する問い合わせがたくさんあってSQLAREAが消費されていたり、明らかにexact-matchなのに like %-% になってたり、「これでコンサルとかいって独立したら案外儲かったりして」と思えることがたくさん。
 そりゃもう、やればやるほど効果が上がる上がる。index.htmlアクセス時に必要もないクソ重SQLが走るのをドカして、/*+ INDEX..して・・・ってこれだけで平常時CPU利用率が60%(これが平常って高すぎ)から5%に減少。当たり前っすわ。