localhost phpmyadmin Select * .. where 1 выдаёт разное число

Ragnarok
На сайте с 25.06.2010
Offline
226
1566

есть табличка с 80+тыс записями

тестирую на локалхосте, phpmyadmin (Информация о версии: 3.4.10.1deb1)

При простом клике по таблице, выдаёт "примерно строк" и всё время разное, например, ~86,436 всего, ~82,042 всего, ~89,366 всего и т.п., но это ерунда.

если делать

SELECT * FROM `tasks` WHERE  id>=1 

или

SELECT count(*) FROM tasks WHERE 1

то число записей выдаётся уже одинаковое, такое же, как возвращает php скрипт с запросом вида

SELECT count(*) FROM tasks WHERE 1

а вот запрос к базе

SELECT * FROM `tasks` WHERE 1 

выдаёт каждый раз разное число :crazy:

что это может быть за фигня?

//TODO: перестать откладывать на потом
siv1987
На сайте с 02.04.2009
Offline
427
#1

Это свойство пхпадмина, он показывает приблизительное число. Хотите подсчитать точное количество строк юзайте COUNT(*)

дани мапов
На сайте с 06.09.2012
Offline
204
#2

Из справки в phpMyAdmin:

3.11 The number of records for InnoDB tables is not correct.

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.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
eN_Slon
На сайте с 13.02.2007
Offline
159
#3

Ragnarok, другими словами - все ок, не заморачивайтесь :)

Парсинг, граббинг, автоматизация всего что вы можете сделать в браузере(и не только) сами. Любое кол-во, любые защиты.
IL
На сайте с 20.04.2007
Offline
435
#4
siv1987:
Хотите подсчитать точное количество строк юзайте COUNT(*)

Но не забывайте, что в InnoDB count(*) перебирает всю табличку.. в отличии от MyISAM, где тот же запрос дёргает уже "готовый" результат

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий