Задать вопрос
tsaymikhail
@tsaymikhail
Javascript developer

Как оптимизировать этот SQL запрос?

$query = "SELECT 
    orders.id, 
    orders.service, 
    orders.buyer_user_id, 
    orders.seller_user_id, 
    orders.grandtotal, 
    orders.date, 
    orders.items, 
    orders.charged, 
    buyer.email as buyer_email, 
    buyer.username as buyer_username, 
    buyer.firstname as buyer_firstname, 
    buyer.lastname as buyer_lastname, 
    buyer.id as buyer_id,
    seller.username as seller_username,
    etsy.shop_id,
    billing_statements.status paid
    FROM orders
    LEFT JOIN etsy_order_details etsy ON orders.id = etsy.order_id
    LEFT JOIN users buyer ON orders.buyer_user_id = buyer.id
    LEFT JOIN users seller ON orders.seller_user_id = seller.id
    LEFT JOIN billing_statements ON orders.statement_id = billing_statements.id";


Собственно, есть проблема с этим запросом, при большом количестве данных (50.000 записей).
Хочется узнать у специалистов какие тут допущены ошибки.

Заранее спасибо!
  • Вопрос задан
  • 916 просмотров
Подписаться 4 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. Убедиться что есть индекс в таблице etsy_order_detailsпо order_id.
2. В порядке бреда убедиться что в таблицах usersи billing_statementsесть индекс по id.
3. Если не поможет - выкладывайте результаты show create table используемых таблиц и explainвашего запроса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы