会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかります。テスト環境のデータベースパフォーマンス、データ量、デッドロックなどの情報を確認しましたが、異常は見つかりませんでした。最終的に、ログの書き込み方法を変更することでこの問題は解決されました。 1. 変更方法/etc/my.cnf ファイルを変更し、innodb_flush_log_at_trx_commit = 1 を 0 に変更します。ただし、これにより、データベースがクラッシュしてから 1 秒以内にデータベースに保存されていないデータが失われるリスクが発生します。 MySQL のドキュメントでは、このパラメータについて次のように説明されています。
2. パラメータの説明
3. 注意事項0 に設定すると、このモードは最も高速になりますが、安全性は低くなります。mysqld プロセスがクラッシュすると、最後の 1 秒間のすべてのトランザクション データが失われます。 1 に設定すると、このモードは最も安全ですが、最も遅くなります。 mysqld サービスまたはサーバー ホストがクラッシュした場合、バイナリ ログでは最大 1 つのステートメントまたは 1 つのトランザクションが失われる可能性があります。 2 に設定すると、このモードは 0 よりも高速かつ安全になります。最後の 1 秒間のすべてのトランザクション データは、オペレーティング システムがクラッシュした場合、またはシステムの電源が失われた場合にのみ失われる可能性があります。 2 つのパラメータ innodb_flush_log_at_trx_commit と sync_binlog は、MySQL ディスク書き込み戦略とデータ セキュリティを制御するための重要なパラメータです。両方のパラメータを 1 に設定すると、書き込みパフォーマンスが最悪になります。推奨される方法は、innodb_flush_log_at_trx_commit=2、sync_binlog=500 または 1000 です。 これで、MySQL のデータの削除と挿入が非常に遅い問題を解決する方法についての記事は終わりです。MySQL のデータの削除と挿入が非常に遅いことに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: ウェブサイトのビジュアルデザインパスはユーザーの習慣に合わせる必要がある
>>: リアルタイムコンピューティングフレームワークFlinkクラスタの構築と動作メカニズムについての簡単な説明
CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...
背景この記事では主に、MySQL が更新ステートメントを実行するときに、元のデータと同一の (つまり...
私はいつも、なぜMySQLデータベースのtimestampタイムゾーンの問題を無視できるのか疑問に思...
Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...
設定ファイルを書いてMyBatisを簡単に使う方法マイバティス3.xここでは MyBatis につい...
知識への依存Go クロスコンパイルの基礎Dockerの基礎Dockerfileカスタムイメージの基本...
Windows 7 で MySQL 5.7.17 をインストールする方法についてのグラフィック チ...
目次1. UDPとLinuxの基礎の紹介2. 各機能の使い方1. ソケット機能の使用2. バインド機...
フロントエンド開発部門は成長し、スタッフも増加し、技術も向上しています。 CSSer はフロントエン...
1. システムの Python バージョンに応じて、pip インストール パッケージをダウンロードし...
1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...
目次1. 3.0をより適切にサポートするには、vue/cliのバージョンが4.5.0以上であることを...
テトリスは非常に古典的な小さなゲームで、私もそれを書いてみました。しかし、できるだけ簡潔で論理的なコ...
まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...
ブラウザウィンドウの中央に要素を配置する方法まず、コード ブロックを示します。すでにコードを理解して...