Почему всегда есть знак тильды (~) в сообщении результата в MySQL

767
Waseem

Всякий раз, когда я обновляю или ищу что-либо в таблице в mysql, сообщение о результате всегда показывает результат, подобный этому.

Showing rows 0 - 10 ( ~11 total, Query took 0.0004 sec)

Когда он показывает точное количество строк, почему он всегда показывает знак «~» перед итоговыми значениями.

Этот знак указывает, что в этой таблице «почти 11 строк» ​​или «приблизительно 11 строк», но это не так. В нем ровно 11 рядов. Так почему этот знак.

Мы используем эти знаки только тогда, когда у нас нет точных значений для результата или чего-либо еще.

Я прочитал часто задаваемые вопросы об этом, говоря это.

phpMyAdmin uses a quick method to get the row count, and this method only returns an approximate count in the case of InnoDB tables. See $cfg['MaxExactCount'] for a way to modify those results, but this could have a serious impact on performance. 

и метод, используемый в этом утверждении, показывает эти строки

For InnoDB tables, determines for how large tables phpMyAdmin should get the exact row count using SELECT COUNT. If the approximate row count as returned by SHOW TABLE STATUS is smaller than this value, SELECT COUNT will be used, otherwise the approximate count will be used. 

Я не понял этих строк, что они пытаются сказать.

0

1 ответ на вопрос

0
Drakkim

You sort of answered the question yourself, but let me elaborate a bit. Because phpMyAdmin always uses the same quick method to count rows, it isn't always exact. The larger the data, the greater the chance of it being inaccurate. phpMyAdmin doesn't check to see if the count is accurate (that would defeat the purpose of the quick count) so it doesn't know when it happens to be exact. It's easier (and safer) to always err on the side of caution and assume it might be inaccurate.

но это происходит только в случае `InnoDB`, в движке хранения` MYISAM` он всегда показывает результаты без знака (~). Waseem 10 лет назад 0