Ответы пользователя по тегу Базы данных
  • Какие еще действия предпринять для увеличения скорости выборки в MySQL?

    @remzalp
    Программер чего попало на чем попало
    Фрагмент запроса "a.ID IN (ннн,нн)" уже выбирает максимально быстрым методом по первичному ключу всю необходимую информацию, которая дальше дофильтровывается.

    Дальше уже вопрос - а насколько много столбцов Вы получаете запросом, есть ли там лишние?
    Есть ли столбцы типа TEXT, Varchar, у которых переменная длина, что может немного понизить производительность в нкоторых операциях.

    Следующий вопрос - а не пора ли оптимизировать настройки сервера - кэш, память. Начиная с mysqltuner.com , заканчивая вдумчивым анализом манов и статистики использования.

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

    И еще для тестов без кэширования ребутить сервер не надо. Используйте:
    SELECT SQL_NO_CACHE a.ID FROM articles a WHERE ...
    Ответ написан
    Комментировать