- ベストアンサー
MySQLとSQLServerの性能の違いについて
- MySQLとSQLServerの性能にはいくつかの違いがあります。アクセス数が増えた場合にパフォーマンスが悪くなる可能性があり、改善が必要です。
- MySQLを複数台で構成する場合、プログラムの修正は不要でデータの冗長化ができます。一方、SQLServerに入れ替える場合はハード一台とSQLServerのライセンス料が必要になりますが、各アクションの速度が向上します。予算に応じて適切な選択肢を検討してください。
- 上記の2つの案から、予算の制約やプログラムの修正の有無、データの冗長化の重要性などを考慮して、最適な選択肢を選んでください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
解決策ではないですが、気になったことを >アクセス数が増えパフォーマンスが悪くなった MySQLの問題と言っても大きくいって4つは検証すべきことがあります (1)インデックスの問題 単純に非効率なSQLを吐いていたらなんのSQLでやってもたいして 改善はみこめません。 ただし、更新・削除が遅いとなるとインデックスでなんとかなるとも言えません。 (2)エンジンの問題 MySQLの特徴はエンジンが選べること 特に高速な処理をしたい場合はトランザクションを設定せずにMyISAMを 利用するのも手です。また一時的にHEAPをつかったりいろいろ改善の手は あるかも知れません。 (3)MySQL自体の問題 ここ数年話題になっている「そもそもMySQLはフロントエンドがおそいので エンジンを活かしきっていない」という問題があります。 そこでNoSQLなどがもてはやされたりしているのですが、さらにすすんで 「HandlerSocket」などで高速化するのも検討できるようになってきました。 参考:http://itpro.nikkeibp.co.jp/article/Interview/20110801/363141/ (4)ハードウェア的な問題 ハード的な問題もあるし、メモリの利用状況などもあるので ハードの強化でなんとかなるかもしれません。 とくにMySQLはマルチCPUに比例的に高速化ができるらしいので やすくてもマルチコアCPUにするだけでおおきくパフォーマンスが あがる可能性があります。
その他の回答 (1)
- nora1962
- ベストアンサー率60% (431/717)
まずは本当にDBがシステムのボトルネックになっているのかどうかを検証してください。 その上で、MySQLの設定がきちんとされているかを確認する必要があります。 InnoDBバッファの値やsort_buffer_sizeは適正でしょうか。 OSはLinuxですか、それともWindows? 例えば、DISK I/OがボトルネックになっているのならSQLServerに変更してもパフォーマンスの向上は見込めないと思います。 なお、MySQLのパフォーマンスチューニングについては「実践ハイパフォーマンスMySQL 第2版」が詳しいです。一読をお勧めします。
補足
nora1962さんアドバイスありがとうございます。 自分の所属がシステムではなく、業務推進(改善)で プログラムコードやパフォーマンスチューニングを実施することは出来ず、 現場担当者に依頼する立場なのです。 担当者にヒヤリングしたところ、 MySQLの限界で、 特に更新、削除に時間がかかるのがネックだそうです。 チューニングは何度か行なっているようです。 OSはLinuxです。 一点質問させてください。 DBがシステムのボトルネックになっているかどうかの検証はどういったものを計測すれば出てくるのでしょうか。 何度もお手数ですがよろしくお願いします
お礼
ありがとうございます。 上層部の方ではお金をかけて強化したいようなので (このご時世ですが)SQLServerに移行するメリットを深堀してゆくことになりそうです。 でもMySQLの技術進歩していることが分かりました。 MySQLを使用し続けることも提案してみようと思います。 大変参考になりました。