Задать вопрос
EnterSandman
@EnterSandman
Эникей

Как ускорить выборку из mysql?

Доброго времени суток всем
есть mysql таблица со структурой id,value на ~3 млн. строк. id - primary, unique

запрос вида "select id,value from table where id=1234567 limit 1" может выполняться от 3 секунд до 30
как ускорить выполнение запроса хотя бы до десятых долей секунды?
можете вкратце рассказать про индесы? вроде применил к полю id, но результата не вижу
поможет ли разбиение таблицы на несколько, скажем по 10 тысяч?
заранее благодарю за ответы
  • Вопрос задан
  • 2563 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Есть мнение что индекс не помещается в памяти. innodb_buffer_pool_size чему равен?
Ответ написан
kuroneco
@kuroneco
Системный администратор
Выполните: explain select id,value from table where id=1234567 limit 1;
И увидите, что пытается сделать оптимизатор. Используется индекс или нет.
Еще, что у вас за движок таблицы. Сколько занимает БД и таблица?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
не используйте подселекты, (де)оптимизируются как depend subquery и тормозят
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы