Проблемы с таблицей rot_search_queries

Post Reply
vik_tgpteam
Posts: 146
Joined: Tue Nov 01, 2011 3:18 pm
Contact:

Проблемы с таблицей rot_search_queries

Post by vik_tgpteam »

Суть проблемы - приблизительно раз в месяц начинает тупить сервак из-за того что на одном из слейвов она таблица rot_search_queries вырастает до какого то объёма.
запрос который тормозит - обычно что то вроде
Time: 99
State: Sending data
Info: SELECT SQL_CALC_FOUND_ROWS rs.* FROM rot_search_queries as rs WHERE 1 = 1 GROUP BY rs.gal_id, rs.search_query ORDER BY rs.hits DESC LIMIT 1, 52

Сейчас проблема лечится обнулением таблицы до нуля и через месяц всё это повторяется заново. Но это хирургия.
Таблица небольшая по объёму занимаемых данных, но большая по кол. строк в ней. Индексы в таблице есть, но не по всем полям используемым в запросе

Code: Select all

+--------------+------------------+------+-----+---------+-------+
| Field        | Type             | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+-------+
| search_query | varchar(255)     | NO   | PRI | NULL    |       |
| hits         | int(10) unsigned | NO   |     | 0       |       |
| gal_id       | int(10) unsigned | NO   |     | 0       |       |
| items_found  | int(10) unsigned | NO   |     | 0       |       |
| date         | date             | NO   | PRI | NULL    |       |
+--------------+------------------+------+-----+---------+-------+
Возможно что запрос неоптимален поскольку индексы только для двух полей а rs.gal_id - неиндексирован.
При размере таблицы за миллион записей начинаются траблы.
Встречалась такая проблема у кого либо ещё? Возможные пути решения?

З.Ы. Линку на дамп таблицы скинул в личку
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Проблемы с таблицей rot_search_queries

Post by admin »

Хранит за последние history_length дней.
По дефолту это 30 дней и миллионов разницх запросов за 30 дней обычно не бывает.

В том что вы скинули данные за последние месяца 3 и в этом случае действительно есть проблема с большим кол-вом записей и индексы тут непричем. Хотя конечно если вы знаете как решить вопрос индексами - я только за, говорите что надо поменять.

Пока вижу 2 варианта решения вопроса.

1. сделать короче history_length
2. убрать ограничение по дням и тогда истори запросов будет не за последние Х дней, а за все время

Какой подходит ?
Don't forget to run script update
vik_tgpteam
Posts: 146
Joined: Tue Nov 01, 2011 3:18 pm
Contact:

Re: Проблемы с таблицей rot_search_queries

Post by vik_tgpteam »

Пока вижу 2 варианта решения вопроса.
1. сделать короче history_length
2. убрать ограничение по дням и тогда истори запросов будет не за последние Х дней, а за все время
Какой подходит ?
Первый явно проще
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Проблемы с таблицей rot_search_queries

Post by admin »

ок, это вы можете самостоятельно сделать в сетингах.
Don't forget to run script update
vik_tgpteam
Posts: 146
Joined: Tue Nov 01, 2011 3:18 pm
Contact:

Re: Проблемы с таблицей rot_search_queries

Post by vik_tgpteam »

Возвращаясь к проблеме - первый путь не помогает - таблица всё равно является тормозящим местом даже с историей 30 дней
Пока поставил чистку по крону до лучших времён
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Проблемы с таблицей rot_search_queries

Post by admin »

Могу предложить сделать вариант 2 как и предлагал ранее, но по какой-то причине он вам не подошел как я понял.

Или у вас есть какой-то своей вариант предложить ?
Don't forget to run script update
vik_tgpteam
Posts: 146
Joined: Tue Nov 01, 2011 3:18 pm
Contact:

Re: Проблемы с таблицей rot_search_queries

Post by vik_tgpteam »

ну если это можно включить как тестовую опцию в очередной апдейт - тогда можно
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Проблемы с таблицей rot_search_queries

Post by admin »

Don't forget to run script update
Post Reply