SQL発行時のパフォーマンスの悪さについて
帳票プログラムを完成させ、実際にサーバーに配置して動かしてもらって色々指摘を受けているのですが、その中で「パフォーマンスが悪い」という指摘が多々あって。
開発環境のデータは、自分で作った100件ほどのテストデータを使用していたのですが、検証環境ではデータが数万件あり、データが表示されるまで、約4分ほどかかるとのこと。
ひどいものでは、15分以上かかってもデータが表示されなくて、頭を抱えてる状態で試行錯誤して、なんとか15秒ほどで表示されるように改善したのですが。
実行ボタンを押してデータが表示されるまで15秒もかなりの遅さ。
なんとかならんもんかと、頭を抱えてると、プロジェクトに参画している他社のエンジニアさんが助け舟を出してくれました。
「君のSQL(データベースからデータを取得するための言語)修正したから参考にして」
と言われて、そのソースを実行したら、15秒が3秒に短縮されました。
それを参考に8秒かかってたSQLを修正したら、なんと1秒を切りました。
嬉しい反面、私の10年のプログラマのキャリアってレベル低かったんだなと複雑な気持ちになりました。
でも、スキルアップしたからいいや。
そのエンジニアさんの話では、2時間かかってた処理を2秒まで縮めた猛者もいるそうで。
自分はまだまだだなと思いました。
