0

誰かがmysqlとMSSQLの同様の中程度の複雑さのストアドプロシージャのパフォーマンスを比較しましたか?我々は私たちがMysqlに移行した大きなprocのカップルを持っています。それらはmssqlのカウンターパーツと比較してかなり遅いです。 多くの理由があります。MysqlプロシージャとSQL Serverプロシージャのパフォーマンスの比較

  1. ハードウェアが不良です。 (RAM、ディスク、SSD)
  2. Mysqlサーバー構成が正しくありません。
  3. Mysql Procの実行と最適化は非常に遅いです。

MSsqlデータベースプロシージャは、1〜2倍高速です。たとえば、1000行のprocは、MSSqlでは2秒、mysqlでは10秒かかります。 なぜ私を助けることができますか?私たちはprocソースコードを1対1に変換しました。

おかげ

+0

まず、クエリーやインデックスなどではなく、SPが遅くなることを確認します。「CURSOR」は大きな疑いがあります。トランザクションもそうです。そして、誰が翻訳を行ったのですか?MySQLの初心者や自動化された人、あるいはMySQLの専門家ですが、Mssqlの微妙な部分を理解できない人はいますか? –

+0

「TOP」、「SEQUENCE」、「ROW_NUMBER」などを正確に複製しようとすると、「1から1への変換」が特に悪いことがあります。そのようなことは、コードの_intent_を理解してから_equivalent_機能を実装する方が効果的です。 –

+0

@RickJamesは過去3ヶ月間何をやっていたのですか?しかし、今、私はmysql設定ファイルを調整しています。パフォーマンスがどのように変化するか見てみましょう。 ありがとう:) – abksharma

答えて

-1

ストアドプロシージャはあなたに小さなパフォーマンスの向上が得られますが、ほとんど、彼らは単純なクエリを行うことは困難または不可能なタスクを実行するためのものです。ストアドプロシージャは、さまざまな種類のクライアントのデータへのアクセスを簡素化するのに最適です。データベース管理者は、それらの詳細を開発者に残すのではなく、データベースの使用方法を制御するため、データベース管理者を愛しています。

パフォーマンスを向上させるために、インデックスと適切なテーブルデザインを参照してください。

+0

MSSQLデータベースprocは、1〜2倍高速です。たとえば、1000行のprocは、MSSqlでは2秒、mysqlでは10秒かかります。なぜ私を助けることができますか? procソースコードを1から1に変換しました。 – abksharma

関連する問題