phpMyAdmin по-русски
   О проекте  |  Скачать  |  Документация  |  Форум
  
    Рубрики новостей
    Обсуждения на форуме:
    Отдел подписки:
Главная страница / Новости / phpMyAdmin /

Хроника исправлений phpMyAdmin: 2006-01-30 - исправления Марка Делисла

Хроника исправлений phpMyAdmin
Идет работа над устранением бага #1396998 - опасность при выводе точного количества записей в MySQL представлениях.

Точный подсчет строк в MySQL представлениях довольно опасен, т.к.
phpMyAdmin пытается подсчитать точное количество строк для каждого MySQL представления (например, на странице предварительного просмотра базы данных, где перечислены все таблицы) выполняя "SELECT COUNT(*) FROM view_name" для представления.

Это весьма опасно опасно в случае комплексных представлений таблиц очень больших размеров (серьезность усугубляется использованием условия WHERE): подсчет записей может занять очень долгое время из-за необходимости построения временных таблиц очень больших размеров на MySQL сервере.

Как результат, phpMyAdmin будет бесполезен в таких случаях при просмотре баз данных (вследствие "тайм аута"). И более того, такое поведение phpMyAdmin может привести к падению MySQL сервера (вследствие того, что таблицы в представлении будут заблокированы).

Разработчики пишут, что при тестировании выполнение команды "SELECT COUNT(*) FROM view_name" на представлении с несколькими объединениями таблиц с сотней миллионов записей заняло час.

На данный момент принято решение: phpMyAdmin не должен выдавать число записей для представлений или по крайней мере необходимо сделать данное поведение конфигурируемым. О последнем варианте решения читайте FAQ 3.11, а также новое описание конфигурационной переменной $cfg['MaxExactCount'].
Опубликовано: 2006-01-30