Since InnoDB is a transactional storage engine, the exact score can be interpreted. For example, some rows may exist in the repository, but the transaction that created these rows has not yet completed. Therefore, lines should not be included in the bill.
Even more confusing, your transaction may be a REPEATABLE READ isolation level, which means that only rows that were committed before the transaction started are visible. Some lines may be committed, but more recently than the start of a repeat read transaction. Therefore, these lines should also not be included in the bill. But the same lines are included in the account made by another transaction that was launched later, or in the isolation level READ COMMITTED .
That's why this statistics table for InnoDB can only be approximate. Exact counting requires checking all stored rows to see if they are visible to the current transaction.
source share