Как я могу улучшить производительность этого запроса, а также получить всю необходимую информацию ..Как повысить производительность множественного присоединяемой таблицы в SQL запросе
SELECT
tr.id, tr.request_status, tr.note, tr.created_date,
c.name AS customer_name, c.mobile_phONe,
u.full_name AS created_by_name, tt.name AS ticket_type_name
FROM
ticket_request tr
LEFT JOIN
ticket_type tt ON tt.id = tr.ticket_type_id
LEFT JOIN
users u ON u.id = tr.created_by
LEFT JOIN
customer c ON c.id = tr.customer_id
WHERE
tr.is_deleted != 1
AND tr.user_id IN (SELECT u.id FROM users u WHERE u.status = '1')
GROUP BY
tr.id
ORDER BY
tr.created_date DESC
LIMIT 0,20
В настоящее время этот запрос выполняется в течение 7-10 секунд.
ticket_request
таблица имеет около 100к строкcustomers
таблица имеет около 300к строкusers
стол иticket_type
не так много (около 1k строк)
Добавить индексы для всех объединяемых столбцов. Вы уже это сделали? –
Я удалил несовместимые теги базы данных. Добавьте тег для базы данных, которую вы действительно используете. –
@TimBiegeleisen Да, я сделал это –