|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите пожалуйста идеями, как можно ускорить запрос получения актуальной информации по товарам на последнюю дату. На данный момент в таблице порядка 10-15 миллионов записей. каждый день добавляется по 2-3 миллиона (лимит хранения 30-45 дней). Использую такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Сейчас такой запрос занимает 24-28 секунд. Дальше будет еще больше. Есть ли какие способы оптимизировать этот запрос или может стоит как-то поменять хранение информации по товарам. Пробовал вариант с оконной функцией на max(date), но он выполняется еще дольше, даже соединение с сервером обрывается (при дефолтных настройках) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 11:31 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
ellunium, explain запроса в студию. Вангую, join c подзапросом не использует индекс. Как-то странно ты его группируешь. И схему таблицы показывай. Там первичный ключ - это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 12:05 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 13:19 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
crutchmaster, да, в группировке я оказывается опечатался в стартовом посте, а изменить сейчас его почему-то уже нельзя. должно быть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
it_id - это айдишник товара. Первичный ключ у таблицы из приведенного примера - стандартный id (не it_id). explain и схему скинуть смогу уже только завтра. блин, а ведь по индексам прямо в точку похоже. У меня там индекс составной был только один - для запросов бэкенда. А вот для фронтенда я добавить забыл. Спасибо за наводку, завтра отпишусь по результатам! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 13:23 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
bochkov, Спасибо попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 13:44 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
ellunium запрос получения актуальной информации по товарам на последнюю дату ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 14:41 |
|
Ускорение сложного запроса в базе с десятками миллионов записей
|
|||
---|---|---|---|
#18+
miksoft, некоторые товары обновляются несколько раз в день. Хоть поле осталось называться date там сейчас уже на самом деле сейчас тип datetime ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2020, 15:51 |
|
|
start [/forum/topic.php?fid=47&fpage=19&tid=1828484]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 406ms |
0 / 0 |