Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса mysql / 2 сообщений из 2, страница 1 из 1
21.04.2021, 03:51
    #40064332
heartlovebeats
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса mysql
Здравствуйте! есть такая вот база и запрос

Не могу понять как его оптимизировать, когда запускаю этот запрос, то он делает минут 10 и выдает 70к строк, по факту их должно быть 3т максимум.

Если выводить отдельно
авторSELECT card, pos, shift_open, local_number,
date, amoun
FROM trm_out_receipt_header torh
LEFT JOIN trm_out_receipt_item tori ON (torh.id=tori.receipt_header)
where torh.card IN ('229456', '229455')

или

авторSELECT card, pos, shift_open, local_number,
date, tori.item, tori.quantity,
tori.receipt_header
FROM trm_out_receipt_header torh

LEFT JOIN trm_out_receipt_payment torp ON (torh.id=torp.receipt_header)
where torh.card IN ('229456', '229455')

то делает за пару секунд
...
Рейтинг: 0 / 0
21.04.2021, 05:54
    #40064334
heartlovebeats
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса mysql
разобрался, я еще по cash_id не делал, а receipt_header могут с собой пересекатсья поэтому выводило 70к, по факту оказалсь 7к

авторSELECT card, pos, shift_open, local_number,
date, amount, tori.item, tori.quantity,
tori.receipt_header
FROM trm_out_receipt_header torh
INNER JOIN trm_out_receipt_item tori ON (torh.id=tori.receipt_header and torh.cash_id = tori.cash_id)
LEFT JOIN trm_out_receipt_payment torp ON (torh.id=torp.receipt_header and torh.cash_id=torp.cash_id)
where torh.card IN ('229456', '229455')
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация запроса mysql / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]