Mysql phpmyadmin показать пустую мощность

0

Почему phpMyAdmin показывает пустую мощность? Изображение 174551

Если я отредактирую индекс (без изменения чего-либо) и сохраню, появится мощность, но после TRUNCATE и некоторых INSERT мощность снова станет пустой.

Бег

ALTER TABLE tableName ENABLE KEYS

не помогает.

Как сделать так, чтобы мощность всегда присутствовала?

Редактировать:

Версия phpMyAdmin - 4.6.4

Версия MySql - libmysql - mysqlnd 5.0.12-dev - 20150407

Двигатель - MyISAM

Теги:
indexing
phpmyadmin

2 ответа

1
Лучший ответ

Вам нужно проанализировать таблицу.

ANALYZE LOCAL TABLE tablename

Статистика для первичного ключа обновляется при обновлении данных, но другим индексам требуется эта операция для установки значения. Обратите внимание: если распределение данных не меняется, вам не нужно обновлять индексы.

Обратите внимание, что при запуске этого процесса при больших таблицах при работе с большими таблицами возникает влияние производительности (и влияние блокировки на MyISAM).

  • 0
    Итак, я должен выполнить это каждый раз, когда сценарий заканчивает вставки? Мне нужно окончательное решение.
  • 0
    Нет. Вы запускаете его, когда относительное количество элементов становится достаточно искаженным, чтобы заставить оптимизатор генерировать плохие планы выполнения. (подсказка: вряд ли это повлияет на производительность, пока у вас не будет в сто раз больше данных, чем показано выше)
Показать ещё 2 комментария
0

Ага. Я нашел NULL с SHOW INDEXES на таблице MyISAM. Ваш ENGINE=MyISAM? Рекомендовать перейти на InnoDB.

  • 0
    Я обновил вопрос с этой информацией.
  • 0
    Любое другое решение? Я не могу сменить двигатель.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню