InnoDB に変換された 1,500 万行の MyISAM テーブルでの選択パフォーマンスを向上させる方法
P粉388945432
P粉388945432 2023-09-06 19:30:08
0
1
471

MySQL バージョン 8.0.32-0ubuntu0.20.04.2

SELECT の実行を回避するのではなく、SELECT のパフォーマンスを向上させようとしています。

リーリー

1,500 万行を挿入します。

リーリー

変更テーブル big_table ENGINE=INNODB;

リーリー

**innodb_buffer_pool_size=8G (元は 128Mb) に設定します (MySQL を再起動します)**

ああああ

P粉388945432
P粉388945432

全員に返信(1)
P粉576184933

Where 句を使用せずに MyISAM テーブルで SELECT COUNT(PK) または SELECT COUNT(*) を実行するのは、すべての行をカウントしないため非常に高速であるため、非常に特殊なケースであることがわかります。 InnoDB 上の同じクエリは文字通りすべての行をカウントするため遅くなります。

ただし、インデックス付きフィールドで where 句が機能すると、InnoDB は MyIsam よりも優れたパフォーマンスを発揮するようです。これがユースケースの 99% のようです...

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート