0
TEXT型の列を持つテーブルが多数あります。いくつかのテーブルは大きく、サービスは高負荷です。 InnoDB内のすべてのテーブル。メモリVS MyIsam tmpfs?
TEXT型のフィールドがある場合、SQLクエリでtmpテーブルが作成されると、そのテーブルはMyISAM型のディスク上に作成されます。ディスクI/O操作を避けるため、MySQLの一時ディレクトリ(tmpdir)はメモリ(tmpfs)にマウントされています。
1)高速MyISAM tmpfsまたはメモリは何ですか?大きな違いはありますか?
2)MyISAMを一時テーブルに使用する場合MyISAMテーブルのみに必要なバッファを設定する必要がありますか?read_buffer_size read_rnd_buffer_size?これらのMyISAM設定はパフォーマンスにまったく影響しますか? (Myisam_sort_buffe_size、key_buffer_size)
TEXTをVARCHARに変更したいとします。
そして、この質問のほとんどはMySQL 8.0ではなくなりました。 TempテーブルはInnoDBになり、いくつかの点で最適化されます。 5.7では '可能'です。 'internal_tmp_disk_storage_engine'を参照してください。 –
すべてのテーブルにはMyIsamのディスクにTextカラムと50%tmpテーブルが作成されています。私たちにはたくさんのRAMがあり、tmpテーブルを作成するのにtmpfsを使うことができます。これはディスク上のtmpテーブルより高速です。 MySQL 5.6があります。 TmpfsはRAMの仮想領域です。 MyISAMがtmpfsやメモリにどのように高速にマウントされているか知りたいですか? tmpテーブルを使用して生産的な作業を行うMyIsamを設定する必要がありますか? – paurlift
代わりに、私は 'TEXT'を回避するか、少なくとも複雑なクエリで' TEXT'カラムを取得することを避けます。そして、複雑なクエリを改善して、tmpテーブルを必要としないようにしようと思います。私たちにいくつかの一般的な質問を表示してもよろしいですか? –