Ускорение передачи данных MySQL

151
12 января 2019, 17:40

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

/* Найденные строки: 3,049  Предупреждения: 0  Длительность  1 запрос: 0.000 sec. (+ 0.172 sec. network) */
/* Найденные строки: 14,335  Предупреждения: 0  Длительность  1 запрос: 0.000 sec. (+ 0.687 sec. network) */
/* Найденные строки: 14,335  Предупреждения: 0  Длительность  1 запрос: 0.015 sec. (+ 0.672 sec. network) */

Explain запроса

UPD1. Проверил так же, на тех же данных и на том же железе на MariaDB, Разницы нет, длительность та же. Версия MySQL 5.6, Версия MariaDB 10.1

UPD2. https://yadi.sk/i/xHcZd48tJq4AYQ Оранжевым - запросы.

UPD3. Выяснил кто именно тормозит(видимо это я). Причина была в функции.

CREATE FUNCTION `ShowAsTime`(`InTime` INT) RETURNS varchar(10) CHARSET utf8
BEGIN
  if(ISNULL(@FormatDate))THEN
    SET @FormatDate='%Y-%m-%d';
  END IF;
  return IF(InTime>0,from_unixtime(InTime,@FormatDate),'---');
END

Теперь вопрос, почему выполнение функции записывалось на время передачи данных?

Answer 1

Проблема локализована. На машине на которой проводились тесты не хватало памяти для выполнения запроса внутри ОЗУ, запрос попадал на жесткий диск и появлялись тормоза. Причем не помещался результат только при использовании функции from_unixtime, что усложнило поиск проблемы и некоторые непонимания(грешил что проблема именно в функции).

Так же время выполнения запроса которое возвращал SQL было временем фильтрации по индексам а не временем на вытаскивание всех данных. Для подсчета реального времени затраченного на запрос воспользовался советом @Mike

select count(*) from (проверяемый-запрос) any_table

Время выполнения этого запроса полностью совпадало с "временем передачи" + "временем выполнения" проверяемого запроса, так что да, MySQL "слегка" врет о времени выполнения запроса.

READ ALSO
Обёртка в -col- лишняя?

Обёртка в -col- лишняя?

Насколько корректно в bootstrap навешивать классы -col- на таблицу?

209
Тестирование html [закрыт]

Тестирование html [закрыт]

Как протестировать обычную страницу? В чем должно заключаться такое тестирование и что можно использовать для этого? Имеется только ее адрес...

143
Неправильно работает animation-play-state в Safari

Неправильно работает animation-play-state в Safari

Во время разработки слайдера на css возникла следующая проблемаНеправильно выполняется свойство animation-play-state

142