sql >> データベース >  >> RDS >> Mysql

mysql LOAD DATA / mysqlimportのパフォーマンスを改善しますか?

    MySQL / MariaDBエンジンは、一括挿入を行うときに並列化がほとんどありません。 LOAD DATAごとに1つのCPUコアのみを使用できます 声明。ロード中にCPU使用率を監視して、1つのコアが完全に使用され、出力データの多くしか提供できないことを確認すると、ディスクスループットが十分に活用されないままになります。

    MySQLの最新バージョンには、新しい並列ロード機能があります。 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-parallel-table.html 。有望に見えますが、おそらくまだ多くのフィードバックを受け取っていません。あなたの場合に役立つかどうかはわかりません。

    次の構成パラメーターでより高い値を使用することを推奨するさまざまなチェックリストをインターネットで見ました:log_buffer_sizelog_file_sizewrite_io_threadsbulk_insert_buffer_size 。しかし、比較テストを実行したときの利点はそれほど顕著ではありませんでした(おそらく、innodb_buffer_pool_sizeよりも10〜20%高速です)。 十分な大きさです。



    1. DataReader値がnullでないかどうかを確認するにはどうすればよいですか?

    2. リクエストがActiveRecord::QueryCacheミドルウェアでスタックしました

    3. SQLダンプをインポートする

    4. VisualStudioMySQLデータセットエラー