dポイントプレゼントキャンペーン実施中!

MySQL5.7から、MySQL8.0にバージョンアップを行いました。あるテーブルから、10万件をSELECTし、カーソルで別のテーブルにINSERTするようなストアドプロシージャーをの処理時間を測ったところ、バージョンアップ後の方が10倍くらいパフォーマンスが落ちてしました。

単発でSQLを実行した場合や、カーソルではなくInsert-selectなどでいっぺんに処理するような場合は、バージョンアップ後の方が1~2割くらい早くなったのですが、カーソル処理時間だけが遅い状況です。

メモリは十分積んでおり、my.cnfの設定も5.7の時と変えていません。
考えられる原因はありますでしょうか

バージョンアップ前
・MySQL5.7.26
・実行時間 76.147sec

バージョンアップ後
・MySQL8.0.2
・実行時間 773.214sec

よろしくお願いします。

質問者からの補足コメント

  • 環境はCentOS7になります。

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/02/28 11:17
  • メモリは98G積んでおり、innodb_buffur_pool_sizeに65Gほど割り当てております。
    バージョンアップ以外にアプリのインストールなどしていないため、バージョンが変わった以外の違いがありません。

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/02/28 11:20
  • ソースの書き方どうかではなく、バージョン8にした事で、カーソルだけが遅くなるのは何故なのか知りたかったのです。
    カーソル以外のSQLのパフォーマンスはほぼ変わりませんでした。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/02/28 11:22

A 回答 (3件)

OSがLINUXなのかWINDOWSなのかでも変わってくる


linuxなら、コンパイルして入れてみる。
多分、これと同じ現象だろうね
https://note.mokuzine.net/mysql-multiple-insert/
この回答への補足あり
    • good
    • 0

>メモリは十分積んでおり



16GB/32GB?
環境によりフリーズします。(例:インストールしたアプリが多過ぎる)
この回答への補足あり
    • good
    • 0

ソースもないしなんとも言えません。


本質的に遅い書き方をしているのでは?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!