質問: 新卒1年目でアプリケーションエンジニアをやっています。 会社で商材のDBをMySQLからOracle DBにリプレイスするという案件にジョインしました。(他チームの案件です) ジョインされた理由は人手が足りないからというものです。 .Net環境で作られたそのシステムはC#とVBで書かれたものが混在しており、LINQ TO ENTITIESのようなORMは殆ど使用されておらず、生のクエリをたくさん書いているとのことです。 しかしそのままリプレイスを行うとMySQLの方言で書かれたSQLがOracle環境で動かない、もしくはイレギュラーな動きをする恐れがある為、慎重ににリプレイスを行い人員を割きたいとのことでした。 担当責任者になぜリプレイスするのか聞いたところ、 **MySQLだと遅いのでOracleに変える**とのことでした。 ただこの言葉を聞いて少し疑問に思ったのが、MySQLとOracle DBでそこまで差があるのかという事です。 まだ軽く調べている段階ですが、劇的に変わるといったような記事やページを見つけることができませんでした。 元々MySQLは組み込み用に作られてきた経緯がある為、Postgre SQL等と比べて、例えばjoinのアルゴリズムがPostgreが3つあるのに対してMySQLは1つ等は聞いた事あるのですが、 MySQLからOracleに変えたところで劇的な変化があるとは思えません(論拠がある理由ではないのですが、、、)。 変えてパフォーマンスが上がったとしてもそれはMySQL,OracleといったDBMSの問題では無い気がしております。 実際どうなのでしょうか?DBによってそんな性能が変わるものなのでしょうか? よろしくおねがいします。
回答: > > 担当責任者になぜリプレイスするのか聞いたところ、 > > MySQLだと遅いのでOracleに変えるとのことでした。 > > > 可能性として、その方がよく分かっていないという 気がしてなりませんが、それはさておき... 自分の印象では、適当に建てた家を適当に増改築を 繰り返してにっちもさっちもいかなくなっている。 それをなんとかしたいので、データベースの リプレースという名目で大規模改修を実施する。 他の方も回答されているように、多少の得意や不得意、 仕様のちょっとした違いはありますが、普通に使う ぶんにはさほど顕著な違いは現れないかと。 なんかあった時に責任をぶん投げられる安心感は あるかもですが、それも程度によりけりですし、 っていうか、MySQLをよく分かってる当初の開発者が 辞めたんで云々という予感がしてきました。