ツール

【3分で解説!】phpMyAdminで取得した行の合計が変動する問題

Designed by vectorjuice / Freepik

ペンちゃん
ペンちゃん

phpMyAdminでテーブルを見たときに、

上に合計値が表示されるよね!

あれ?数が合わないな?

どうして!?

phpMyAdminを使ったときに、

上部に

行 0 – 0 の表示 (合計 1, クエリの実行時間: 0.0008 秒。)

このような情報が表示されますよね。

合計の数字がおかしい時があります。

結論、正確な行数を取得して表示しているわけではありません。

解説

FAQ - よくある質問 — phpMyAdmin 6.0.0-dev ドキュメント

phpMyAdminのよくある質問を参照します。

3.11 InnoDB のテーブルの行数が正しくありません。

phpMyAdmin は簡潔な方法で行数を取得していますが、この方法では InnoDB テーブルの場合に概数しか返ってきません。この結果を修正する方法は $cfg[‘MaxExactCount’] を参照してください。ただし、これは性能に深刻な影響を与える可能性があります。もっとも、概算の行数をクリックすると、正確な行数に簡単に置き換えることができます。これは、最下部に表示されている行数の合計値をクリックすれば、すべてのテーブルを一度に更新できます。

https://docs.phpmyadmin.net/ja/latest/faq.html

こちら $cfg[‘MaxExactCount’]の設定値を超えない場合は

SELECT COUNT(*)で正確な行数を取得取得しているが、

超えた場合は、

SHOW TABLE STATUSによっておよその数が返されるようです。

デフォルトで50000なので、

それを超える数は概算の行数が表示されているようです。