ホームページ >データベース >mysql チュートリアル >phpMyAdmin で InnoDB テーブルの推定行数がさまざまに表示されるのはなぜですか?
phpMyAdmin の結果で推定行数が異なる: なぜですか?
MySQL で InnoDB テーブルを操作する場合、ユーザーは推定行数に重大な不一致が発生する可能性があります。 phpMyAdminによって表示される行数。この変動は、InnoDB テーブルの固有の性質により発生します。
InnoDB テーブルの行カウントについて
正確な行数を維持する MyISAM テーブルとは異なり、InnoDB テーブルは行数を追跡しません。この情報を直接。その結果、InnoDB で正確な行数を取得する唯一の方法はテーブル全体のスキャンを必要とし、大きなテーブルの場合は時間のかかる操作になる可能性があります。
phpMyAdmin の推定
パフォーマンスの制限を克服するために、phpMyAdmin は SHOW TABLE STATUS クエリを使用して、InnoDB エンジンから推定行数を取得します。ただし、この推定は、InnoDB の内部操作の非同期的な性質により変動する傾向があります。このばらつきは、観察された行数の違いを説明しています。
代替ソリューション
InnoDB の行カウントの制限を考慮すると、正確な結果を求めるユーザーは代替方法を検討する必要があります。
MySQL ドキュメント注
MySQL マニュアルでは、InnoDB の行数推定のおおよその性質を認めています:
「行数は SQL 最適化で使用される概算の推定値にすぎません。」
さらに、正確にカウントするには別の方法を使用することをお勧めします。
「おおよその行数が十分な場合は、SHOW TABLE STATUS を使用できます。セクション14.3.14.1「InnoDB パフォーマンス チューニングのヒント」を参照してください。"
以上がphpMyAdmin で InnoDB テーブルの推定行数がさまざまに表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。