RDBへのアクセス回数って、たいしたオーバーヘッドではないのかな?
実装についてちょっと問題があるとの指摘を受けた。
DBにアクセスを行う箇所で、検索回数を減らすためにSQLがちょっと複雑になるものの、1回検索すれば済む、って感じにしていたのだが、そのSQLが複雑すぎるので性能が出ないのではないか?との事。
しかし、SQLをばらすと、今度は数百回の検索回数になります、と説明したところ、APサーバ-DBサーバ間の通信のオーバーヘッドなんて100Mbpsだと微々たる物だから、回数とか気にしなくていいと言われた。
私が物の本で仕入れた知識によると、DBへのアクセス回数は減らすようにって事になっているようだ。確かに机上の知識かもしれない。が、ネットワークのスピードとDB内のディスクIOやメモリの速度を考えてみるに、ネットワークの方が遅いのではないかなぁと考えるのだけどどうなのだろう。
もちろん、指摘をしてくれた人は経験や知識も十分な人なので今回のケースだとそうなのかもしれない。だとすると、DBへのアクセス回数を減らすようにってな内容の文献は必ずしも正しくは無い、って事なのだろうか。
一番正解なのは、きちんと計算して数値的根拠に基づいた判断をする事なのだろう。それができず、推測で検索回数を減らす方針をとったのは確かに間違いだったと思われる。
きちんとRDBの勉強をしないといけないなぁ。