Простой подсчет mysql и время

1

Хорошо, поэтому у меня есть локальный сервер Ubuntu в моем доме под управлением Mysql. У этого есть старые жесткие диски стиля, и у меня есть Linode, управляющий SSD.

На Linode простая таблица SELECT COUNT(*) FROM table насчитывающая 106938412 записей, занимает 37,14 секунды, в то время как на моей домашней коробке подсчет 5376224 записей занимает 39 минут! Очевидно, что-то другое. Где я должен стремиться ускорить это. Если бы я переместил данные не SSD локально на USB-накопитель, это ускорит его? В настоящее время я выполняю запросы по обеим таблицам (много выборок/вставок), поэтому таблицы будут "активными", и оба набора запросов будут также обновлять индексы, поэтому я не уверен, что это будет учитывать различия?

Когда я запускаю EXPLAIN SELECT COUNT(*) FROM slow_table показывает Select tables optimized away поэтому я не верю, что это помогает?

ОЗУ и процессор в локальном поле также прекрасны.

Теги:

1 ответ

0

В вашем запросе вместо использования * используйте любое конкретное имя столбца, в основном столбцы первичного ключа.

Попробуйте этот запрос:

SELECT COUNT(column_name) FROM table_name;
  • 0
    К сожалению, не вижу каких-либо улучшений

Ещё вопросы

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