0

実際の私の目的は、データベースに存在するレコードの数を調べることなので、select sum(table_rows) from information_schema.tables where table_schema='database_name'; のようなクエリを実行したことを確認することです。 それは私に 90658965 のような値を与えました

その後、個々のテーブルに存在するレコードの数が必要なので、次のクエリselect table_rows,table_name from information_schema.tables where table_schema='database_name';を実行しました。3781 (table_rows) やチケット (table_name) のような結果が得られました

したがって、相互検証するために、 select count(*) from ticket;のようなクエリを実行しました 。3552 のような結果が得られました

上記の 2 つのクエリのテーブル数に違いがある理由は、チケット
テーブル のストレージ エンジンは innodb です。

4

2 に答える 2

1

The INFORMATION_SCHEMA TABLESTableの下に記載されているように:

テーブルの場合InnoDB、行数は SQL 最適化で使用される概算にすぎません。InnoDB(これは、テーブルがパーティション化されている場合にも当てはまります。)

于 2012-10-09T10:18:31.410 に答える
0
SELECT COUNT(*) FROM TABLENAME

このクエリは、リソース インセンティブ操作です。

によるトータルリターン information_schema.tables が正しいものになります

于 2012-10-09T10:30:44.000 に答える