![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Привет всем!
Не могли бы вы подсказать, что можно предпринять в следующей ситуации.
Имеется таблица:
Отредактированно FiMko (20.04.2014 20:35:59)
Неактивен
USING TEMPORARY из-за DISTINCT. Сначала он выбирает по ключу во временную таблицу, а затем применяет алгоритм DISTINCT.
Неактивен
rgbeast, спасибо, точно! Но как решить проблему низкой производительности?
Отредактированно FiMko (20.04.2014 21:24:14)
Неактивен
А чему равна переменная innodb_buffer_pool_size?
Худший случай, если это 8 обращений в разные области диска. Лучший, если уже вся таблица полностью в буферпуле (в памяти).
Note: на всякий случай учитывайте, что первичный ключ в InnoDB работает несколько быстрее вторичных
Неактивен
innodb_buffer_pool_size = 256M
На таблице phrases вообще нет primary, показался не нужен.
Я в принципе не могу понять почему такая медленная скорость 6 rows in set (0.10 sec).
Индексы есть и выбираются правильные, данных в таблице относительно немного (1 253 909 строк).
---
Сейчас попробовал на сервере (1ГБ RAM, SSD HDD), там очень быстро выполняется. Видимо, на локальном ноутбуке с IDE SATA HDD имеют место быть накладные расходы на disk IO. Как бы проверить (из любопытства)...
Неактивен
смотрите iostat или iotop под нагрузкой
Неактивен