mysql select count длинное время запроса - PullRequest
0 голосов
/ 06 января 2019

3 миллиона записей таблицы, время выборки составляет 0,6 секунды

3,2 миллиона записей таблицы, время запроса на выборку составляет 8,4 секунды (200 000 новых записей)

3 миллиона записей в таблицах, время выборки составляет 8,4 секунды (удалить 200 000 записей)

1,2 миллиона записей в таблицах, время выборки составляет 9,7 секунды (удалено более 200 000 записей)

Данные нормальны, когда их меньше 3 миллионов. Вставляйте 200 000 данных одновременно, выполняйте несколько раз и удаляйте тесты. Mysql5,6, windows10

select count(1) from t_node;
delete from t_Node limit 200000;
insert into t_node select * from t_node limit 200000;

я хочу выбрать время запроса подсчета <1с </p>

1 Ответ

0 голосов
/ 06 января 2019

Хммм, разница примерно в 10 раз. Похоже, данные больше innodb_buffer_pool_size. Иногда SELECT работает в основном в оперативной памяти (с привязкой к процессору при 0,6 с), иногда он запускается в основном с диска (с привязкой к вводу / выводу при 8-10 с).

Пожалуйста, укажите SHOW CREATE TABLE, SHOW TABLE STATUS, innodb_buffer_pool_size и размер оперативной памяти. Также выполните SHOW TABLE STATUS до и после удаления + вставка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...