mixiユーザー(id:17119814)

2015年06月19日22:30

64 view

データベース(6)

前回の続き。そのシステムは、客先に納品した後に「遅すぎて使い物にならん!」という
クレームが来たらしい。そりゃそうだろう。で、その会社では対応できなくなって、オイ
ラが外注として入っていたSI会社にヘルプを求めてきた。

当初、遅すぎるというクレームを受けたその会社のSEが現地のサーバを調べてみたとこ
ろ、稼動状態をタスクマネージャで見たところ、CPU使用率が100%に張り付いてい
る、ということからサーバスペックが足りないせいだと思い込み、ウチ等にハードウェア
の増強を依頼してきたのである。

しかしだ。全然インデックスが貼られていない、つまり常にフルスキャンが走っているの
だから、DBサーバのCPU使用率が100%に貼りつくなんて至極当然である。SQL
サーバのログからSQLの処理が遅くなっている部分をつきとめ、SQLを変えるか、ま
たはインデックスを貼ることで対処するのが先決だ、と提言した。

もう客先に納品しているアプリだからSQLを直すなんてことはまずありえない。なので
必然的に「インデックスを貼りまくる」という対処でしのぐという方策しかなかった。イ
ンデックスを貼っていけば確かに検索は速くなるけど、インデックス自体がディスク領域
を消費するし、INSERTやUPDATEの際にインデックスも更新する必要があるか
ら、こういった処理は遅くなる。

なので本来ならばインデックス追加は慎重に行うべきなのだが、このときは背に腹は代え
られないとばかりに、闇雲に追加しまくったのだった。結果的にユーザらのクレーム
は止まったということだ。そのシステムが今どうなっているかは知らない。

0 2

コメント

mixiユーザー

ログインしてコメントを確認・投稿する