1

Тема: Неверный подсчет количества страниц и глюки навигации

Всем привет, помогите пожалуйста разобраться. Установил phpMyAdmin 3.1.1, надеясь, что уйдут баги в навигации, но тщетно. Версия БД - MySql 5.0.75. Так вот при работе с маленькими таблицами все ок. Однако при навигации по большой таблице определение количества страниц, перемещение в конец таблицы, кнопочки взад и вперед - все это глючит и не работает как надо. Причем еще хуже чем в предыдущих версиях. В конец базы можно добраться только простым листингом с сортировкой по id по убыванию. Особенности моей таблицы - около 40к записей, id начинается с 20000, записи идут не везде подряд (имеется в виду, что кое где записи удалялись - выглядит примерно так: 25001, 25002, 25006, 25008, 25009 ... 50000). Движок InnoDb. Плиз подскажите, может кто сталкивался что можно сделать. Спасибо.

2

Re: Неверный подсчет количества страниц и глюки навигации

megachart
Больше 30000 записей, тип MyISAM - работает хорошо.
Может есть какие-то специфические настройки в phpMyAdmin или MySQL?

3

Re: Неверный подсчет количества страниц и глюки навигации

Hanut сказал:

megachart
Больше 30000 записей, тип MyISAM - работает хорошо.
Может есть какие-то специфические настройки в phpMyAdmin или MySQL?

Да нет, нет ничего специфического, глючит эта одна таблица, видимо потому что большая, все другие работают нормально. Видимо это из за "приблизительного" определения количества записей в таблице. Потому что каждый раз когда обновляешь информацию о количестве записей в таблицах - в больших InnoDB таблицах показывает разное количество записей (+- 10k), что поделать с этим не знаю.

4

Re: Неверный подсчет количества страниц и глюки навигации

megachart
Так как InnoDB не использую, то ввел вас в заблуждение. На самом деле это особенность получения количества строк от MySQL на таблицах типа InnoDB: при количестве строк менее, чем указано в конфигурационной директиве $cfg['MaxExactCount'], используется быстрый, но приблизительный подсчет получаемый выборкой статуса таблицы; если в значение $cfg['MaxExactCount'] установить более 90000 (изначально стоит 20000), то выборка количества строк будет осуществляться дополнительным запросом SELECT COUNT()... и будет достоверной.

Добавьте в конфигурационный файл phpMyAdmin (config.inc.php) строку:
$cfg['MaxExactCount'] = 90000;
В значении укажите целое число - максимальное количество строк для которых будет осуществляться точный, но более медленный подсчет.

5

Re: Неверный подсчет количества страниц и глюки навигации

Hanut сказал:

megachart
Так как InnoDB не использую, то ввел вас в заблуждение. На самом деле это особенность получения количества строк от MySQL на таблицах типа InnoDB: при количестве строк менее, чем указано в конфигурационной директиве $cfg['MaxExactCount'], используется быстрый, но приблизительный подсчет получаемый выборкой статуса таблицы; если в значение $cfg['MaxExactCount'] установить более 90000 (изначально стоит 20000), то выборка количества строк будет осуществляться дополнительным запросом SELECT COUNT()... и будет достоверной.

Добавьте в конфигурационный файл phpMyAdmin (config.inc.php) строку:
$cfg['MaxExactCount'] = 90000;
В значении укажите целое число - максимальное количество строк для которых будет осуществляться точный, но более медленный подсчет.

Большое спасибо, попробую.