Задать вопрос
Ответы пользователя по тегу MySQL
  • Как оптимизировать / кэшировать кучу тяжелых запросов к MySQL?

    Kianl
    @Kianl Автор вопроса
    Печальный веб-разработчик
    Короче. Проблему решил так.

    - Услышал про индексы, пошел разбираться.
    - Наткнулся на длинную серьезную статью по этой теме: https://ruhighload.com/%D0%98%D0%BD%D0%B4%D0%B5%D0...
    - Изучил от и до; приписка в конце положила под стол.
    - Как опытный, крайне смекалистый программист-любитель я практически моментально и до последнего слова все не понял, поэтому от нудной теории перешел сразу к веселой практике.
    - Начал тестить; в процессе научился работать с БД через консоль.
    - Как оказалось, волшебная таблетка - создание индекса на поле ID для таблицы просмотров.

    $sql = 'CREATE INDEX id ON wp_post_views(ID)';
    $wpdb->get_results($sql);


    * здесь ID - это ID поста, к которому относится просмотр, а не primary key, как может показаться

    Заткнул я это на хук смены темы (надеюсь я правильно понял, что этот индекс не нужно обновлять вручную?). Залил патч на сервер и, - о чудо! - реально все летает. Там, где раньше грузилось за 10-15 сек стало грузить за 0.5-1.

    Mission Complete.

    P.S. Всем спасибо, кто помогал. Но впредь сильно не матюкайтесь.. Не все такие крутые гуру, как вы. Некоторые учатся в процессе. Отсюда и шишки.
    Ответ написан