Короче. Проблему решил так.
- Услышал про индексы, пошел разбираться.
- Наткнулся на длинную серьезную статью по этой теме:
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. Всем спасибо, кто помогал. Но впредь сильно не матюкайтесь.. Не все такие крутые гуру, как вы. Некоторые учатся в процессе. Отсюда и шишки.