検索
ホームページデータベースmysql チュートリアルMySQL キャッシュの分類と構成の詳細な紹介

MySQLキャッシュ分類

InnoDBバッファプール
InnoDBログファイルとMyIsAMデータ用のOSキャッシュ
MyIsAMキーキャッシュ

クエリキャッシュ
手動で設定できないキャッシュ、バイナリログ、テーブル定義ファイル用のオペレーティングシステムキャッシュ
その他のキャッシュ、通常、あまり多くのメモリを必要としません


InnoDB バッファ プール
機能:
1. キャッシュ オブジェクトには、データ行、インデックス、挿入バッファ、ロック、内部データ構造が含まれます。
2. バッファプールを使用して書き込みを遅らせます。複数の書き込みをマージし、順次に書き込みます(ストレージデバイス)
関連パラメータ:
InnoDB バッファプールのサイズをクエリします。単位はバイトです
「innodb_buffer_pool_size」のような変数を表示します ;
innodb_max_dirty_pages_pct 変数は、ダーティ ページの数に影響します。
innodb_max_dirty_pages_pct の設定を表示します
innodb_max_dirty_ Pages_pct 変数 その後、バックグラウンド スレッドが開始され (高速フラッシュ モード)、ダーティ ページをディスクにフラッシュします
MySQL のメモリが不足すると、sqlserver の Lazywrite に似たバックグラウンド スレッドがあり、ダーティ ページをディスクに定期的に更新し、ダーティ ページによって占有されているメモリ領域を他のデータ (メモリにロードする必要があるデータ) で使用できるようにクリーンアップします。
トランザクション ログに空きがない場合、InnoDB は強力なフラッシュ モードに入ります。ログが大きいとパフォーマンスが向上する理由 (?)
バッファーの予熱:
データベースの読み込み時にディスクからキャッシュにデータをロードすると理解できます。を起動し、データアクセスのパフォーマンスを向上させます
バッファを予熱する2つの方法
1.Percinaサーバー
2.Init_fileの設定、つまり起動後にInit_fileにSQLを指定し、SQL文で指定したデータをバッファに書き込みます。

MyisAM キー キャッシュ (キー キャッシュ)

機能: MyisAM キー キャッシュはキー キャッシュとも呼ばれます。 MyisAM キー キャッシュは、データをキャッシュしません。
関連パラメーター。 :
MyisAM のキー キャッシュ (プール) はデフォルトで 1 つだけです )
設定オプション key_buffer_size key_buffer_size を設定するときにインデックスのサイズを参照します
またはそれ以上大きくする必要はありません。オペレーティング システム キャッシュによって予約されている総メモリの 25% ~ 50% より
から引き継ぎ、key_buffer_size select sum(index_length) from information_schema を設定するときにインデックス フィールドのサイズを引用します。 `TABLES`
MySQL はデフォルトですべてのインデックスを厚くしますデフォルトのキーキャッシュに、
各MyisAMキーキャッシュ(プール)はサイズが指定されており、インデックスをキャッシュするために複数のkey_buffer_sizesを作成可能
設定方法、追加
key_buffer_1.key_buffer_size = 1G
key_buffer_2.key_buffer_size = 1G
デフォルトを追加1つ、合計3つのkey_buffer_sizeがあります
キーキャッシュへのインデックスを指定します:
ulategue_key_buffer_size = 1G Index t1,t2 in key_buffer_1
またはinitで設定します_file
LODA INDEX INTO CACHE t1,t2 (デフォルトのバッファに割り当てられます)
キー キャッシュ使用量の計算:
100-((key_buffer_unused*key_cache_block_size)*100/key_buffer_size)
その他:
1. MyisAM はデータをキャッシュするためにオペレーティング システムのメモリを使用することが多いため、より多くのメモリを予約する必要があります。キー キャッシュの代わりにオペレーティング システム キャッシュ用です
2. MyisAM テーブルが使用されていない場合でも、key_buffer_size をより小さい値 (32M など) に設定する必要があります。mysql サーバーは内部で MyisAM テーブルを使用する可能性があります

スレッドキャッシュ
機能:
接続が閉じられている場合、解放されたスレッドはキャッシュされスタンバイ状態になります。
新しい接続がある場合、作成時にキャッシュにキャッシュされたスレッドを直接使用して、接続の効率を向上させることができます。
接続ごとに新しいスレッドを作成する必要はありません。 消費方法:
新しい受信接続はキャッシュからキャッシュされたスレッドを占有します (占有された後、キャッシュから削除されます)。
接続が閉じられるとき。 、スレッド キャッシュにまだ空きがある場合は、現在のスレッドがキャッシュ スレッドに返されます。
関連パラメータ:
Thread_cache_size はキャッシュの数を指定します。保存できるスレッド数
各スレッドが占有するメモリ空間は約 256kb です
非常に高い同時アクセスがない限り、そうならないはずです、一般にこの値を設定する必要はありません
単位はキャッシュされたスレッドの数です
show variables like 'thread_cache_size'
各スレッドが占有するメモリ空間は約256kbです

テーブルキャッシュ
機能:
主に MyisAM テーブルに関連します。キャッシュされるのは、テーブルの .frm 解析結果とその他のデータです。
キャッシュ後、テーブルへのアクセスの効率が向上します。 MyIsAM テーブルの場合、テーブルがキャッシュされた後、テーブルが使用中であることをマークするために MyisAM ヘッダー ファイルを変更する必要がなくなります
show variables like '%table_open_cache%';

InnoDB データ ディクショナリ テーブル
機能:
InnoDB テーブルをキャッシュする定義情報、
オープンするたびに InnoDB テーブルが作成されると、テーブルの定義はデータディクショナリにキャッシュされますが、テーブルが閉じられた後はキャッシュから削除されません

以上がMySQL キャッシュの分類と構成の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
データ処理と計算にMySQL関数を使用する方法データ処理と計算にMySQL関数を使用する方法Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

MySQLにデータを挿入する効率的な方法MySQLにデータを挿入する効率的な方法Apr 29, 2025 pm 04:18 PM

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

フィールドをMySQLテーブルに追加および削除する手順フィールドをMySQLテーブルに追加および削除する手順Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MySQLクエリの実行計画を分析する方法MySQLクエリの実行計画を分析する方法Apr 29, 2025 pm 04:12 PM

説明コマンドを使用して、MySQLクエリの実行計画を分析します。 1.説明コマンドは、パフォーマンスのボトルネックを見つけるのに役立つクエリの実行計画を表示します。 2。実行計画には、ID、select_type、table、type、baining_keys、key、key_len、ref、行、およびextraなどのフィールドが含まれます。 3。実行計画によると、インデックスを追加し、完全なテーブルスキャンを避け、参加操作の最適化、オーバーレイインデックスの使用により、クエリを最適化できます。

MySQLサブクエリを使用してクエリ効率を向上させる方法MySQLサブクエリを使用してクエリ効率を向上させる方法Apr 29, 2025 pm 04:09 PM

サブクエリは、MySQLクエリの効率を向上させることができます。 1)Subqueryは、データのフィルタリングや集約値の計算など、複雑なクエリロジックを簡素化します。 2)MySQL Optimizerは、サブクエリを操作に参加させてパフォーマンスを向上させることができます。 3)INの代わりに存在することは、複数の行の戻りエラーを回避できます。 4)最適化戦略には、関連するサブ征服の回避、存在の使用、インデックスの最適化、およびサブクエリネスティングの回避が含まれます。

mysqlの文字セットと照合ルールを構成する方法mysqlの文字セットと照合ルールを構成する方法Apr 29, 2025 pm 04:06 PM

MySQLで文字セットと照合を構成する方法は次のとおりです。1。サーバーレベルでの文字セットとコレクションの設定:setNames'utf8 '; setCharacterSetutf8; setCollat​​ion_connection = 'utf8_general_ci'; 2。特定の文字セットと照合を使用するデータベースを作成します:createdatabaseexample_dbcharactersetutf8collat​​eutf8_general_ci; 3.テーブルを作成するときに文字セットとコレクションを指定:createTableExample_table(idint

MySQLをアンインストールし、残留ファイルをクリーンする方法MySQLをアンインストールし、残留ファイルをクリーンする方法Apr 29, 2025 pm 04:03 PM

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

MySQLのデータベースの名前を変更する方法MySQLのデータベースの名前を変更する方法Apr 29, 2025 pm 04:00 PM

MySQLでデータベースを変更するには、間接的な方法が必要です。手順は次のとおりです。1。新しいデータベースを作成します。 2。mysqldumpを使用して、古いデータベースをエクスポートします。 3.データを新しいデータベースにインポートします。 4.古いデータベースを削除します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール