Mysql クエリ テーブル データ ボリュームの方法: 1. 「SELECT COUNT(*) FROM テーブル名」ステートメントを使用してクエリを実行すると、COUNT は取得したデータの数を返すことができます。 2. 「SELECT SQL_CALC_FOUND_ROWS 1 FROM テーブル名」を使用します。制限 1 "ステートメント クエリ。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
1. 最も一般的に使用される
SELECT COUNT(*) FROM 表名;
は正確ですが、データ ボリュームが大きい場合 (1 つ以上)百万)、遅くなります。
2. count(*) よりも速いと言われている方法をネットで見つけましたが、セルフテストでは検証されていません。
SELECT SQL_CALC_FOUND_ROWS 1 FROM 表名 limit 1; SELECT found_rows() AS rowcount;
上記の両方には欠点があり、一度にクエリできるテーブルは 1 つだけです。
3. 現在のデータベース内のすべてのテーブルのデータ量をクエリします
SELECT TABLE_NAME,TABLE_ROWS FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = (SELECT database()) ORDER BY TABLE_ROWS DESC;
TABLE_ROWS はテーブルのデータ量ですが、select count(*) を実行して取得した値とは異なることがわかります!
理由:
デフォルトでは、mysql がテーブルを追加または削除するときに、information_schema ライブラリ内の tables テーブルの table_rows フィールドは自動的に更新されません。インターネットを検索すると、次のことがわかりました。 10% のみ 行数が変化した場合にのみ自動的に収集されます (検証予定)
推奨学習: mysql ビデオ チュートリアル
以上がmysqlでテーブルのデータ量をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。