要約: MySQL は多くの場合、一時テーブルを使用します。一時テーブルは、接続が確立されているときにのみ、現在の接続でのみ表示されます。 Mysql テーブルは自動的に削除され、すべてのスペースが解放されます。要約すると、多くの場合、Mysql は一時テーブルに使用されます:
一時テーブルとは: MySQL は、いくつかの中間結果のテーブルを保存するために使用されます。接続が閉じられると、Mysql は自動的にテーブルを削除し、すべてのスペースを解放します。一時テーブルが生成される理由: 一般に、複雑な SQL により一時テーブルが大量に作成されます。一時テーブルは、メモリ一時テーブルとディスク一時テーブルの 2 種類に分けられます。メモリ一時テーブルはメモリ ストレージ エンジンを使用し、ディスク一時テーブルは myisam ストレージ エンジンを使用します (ディスク一時テーブルは innodb ストレージ エンジンも使用できます。使用するストレージ エンジンを制御するには、internal_tmp_disk_storage_engine パラメータを使用します。mysql5.7.6 以降、デフォルトは innodb ストレージ エンジン、以前のバージョンのデフォルトは myisam ストレージ エンジンです)。 Created_tmp_disk_tables パラメーターと Created_tmp_tables パラメーターを使用して、生成されたディスク一時テーブルの数と、生成されたすべての一時テーブル (メモリとディスク) を表示します。
メモリ一時テーブルスペースのサイズは、tmp_table_size と max_heap_table_size の 2 つのパラメータによって制御されます。一般に、最初にメモリ内に作成され、データが大きすぎるために後でディスク上の一時テーブルに転送される一時テーブルの場合、2 つのパラメータのうち小さい方がメモリ内の一時テーブル領域の最大値を制御するために使用されます。パラメータ制御を使用します。ディスク上に直接生成された一時テーブルのサイズ制御はありません。
5ã クエリによって生成された派生テーブル
6ã 複雑なグループ化と順序付け
7ã 同じテーブルを選択すると、mysql は選択された行をキャッシュする一時テーブルを生成します
8 複数のテーブルを更新
9ã GROUP_CONCAT () または COUNT(DISTINCT) ステートメント
。 。 。
Mysql はメモリテーブルスペースの使用を防ぎ、ディスク一時テーブルを直接使用します:
1ã テーブルには BLOB または TEXT カラムが含まれます
2ã ユニオンまたはユニオンオールを使用する場合、select 句には 512 バイトを超えるカラムが含まれます
3ã ��列または記述テーブルを表示する場合、LOB または TEXT があります
4ã ��GROUP BY または DISTINCT 句に 512 バイトを超える長さの列が含まれています
関連する推奨事項:
mysql 一時テーブルの使用方法
Mysql の使用方法一時テーブル
以上が一時テーブルはいつ使用されますか? MySQL 一時テーブルの使用の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。