Thank you to everybody for the clarification. We will fix our engine to not set 0 for stats.records unless we are absolutely sure it is empty. -Zardosht On Thu, Dec 9, 2010 at 7:52 AM, Sergei Golubchik <serg@askmonty.org> wrote:
Hi, Zardosht!
On Dec 08, Zardosht Kasheff wrote:
We always thought that stats.records was meant to be an estimate, and that an estimate of 0 was ok even if the table was non-empty. We were reporting that stats.records was 0 even though the table was non-empty. Is this assumption wrong?
Yes, it is. stats.records is an estimate (unless you set HA_STATS_RECORDS_IS_EXACT) as long as it's not 0. The value of 0 is always exact, that is if stats.records is 0, MySQL considers the table to be empty, irrespectively from HA_STATS_RECORDS_IS_EXACT.
If you aren't sure, return 1.
Regards, Sergei