mysql はマルチスレッドです。 Mysql は単一プロセスのマルチスレッド データベースであり、innodb には約 3 種類のスレッドがあります: 1. マスター スレッド、2. 書き込みリクエストを非同期で処理するために使用される IO スレッド スレッド、3. UNDO ログを削除するために使用されるパージ スレッド スレッド。
(推奨チュートリアル: mysql ビデオ チュートリアル )
mysql は、単一プロセスのマルチスレッド データベースです。 innodb そこにはおそらく次のタイプのスレッドがあります:
(1) マスター スレッド: これはメイン スレッドであり、非常にコアです。その目的は主に、いくつかの定期的なタスクを実行することです。 innodb のバージョンの違い 機能が異なります。これが最も古いバージョンです。初期の innodb マスター スレッドには 2 つの頻度タスクがあり、1 つは 1 秒に 1 回、もう 1 つは 10 秒に 1 回です。
毎秒作業:
1. ログを更新します;
2. 最大 100 のダーティ ページを更新します;
#3. 挿入バッファをマージします;4. アイドル状態の場合は、バックグラウンドに切り替えます。 実際、最も重要なのは最初の 2 つです。また、ログのリフレッシュのみを毎回実行する必要があり、残りは条件が満たされた場合にのみ実行されます。たとえば、ダーティ ページのリフレッシュは、キャッシュ内のダーティ ページの割合がしきい値を超えた場合にのみリフレッシュされます。 10 秒ごとに作業: 1. ログを更新します; 2. ダーティ ページを更新します; 3. 元に戻すログを削除します;4. マージ挿入バッファ
(2) IO スレッド: 主に書き込みリクエストの非同期処理に使用されます。
(3) パージ スレッド: は、UNDO ログを削除するために使用されます。これは、この問題をマスター スレッドから分離する後続の innodb バージョンです。
最後に、innodb のメモリ マップ: 関連する推奨事項:以上がmysql はシングルスレッドですか、それともマルチスレッドですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。