MySQL присоединиться к проблеме запроса - PullRequest
3 голосов
/ 24 ноября 2010

у меня 2 таблицы1) «товары» с полями (продукция ПК, название, описание, цена)2) «продажи» с полями (salesid PK, salestime, productid, имя клиента, customeremail, статус)

Мне нужно отобразить данные в табличном формате как

SalesID Название продукта Сумма Имя клиента Адрес клиента Статус платежа

Для этого я использую следующий запрос

SELECT s.salesid, p.name, p.price, s.customername, s.customeremail, s.status 
FROM sales s 
LEFT JOIN products p ON s.productid = p.productid 
ORDER BY salestime DESC 
LIMIT 0, 15 

Можно ли еще как-нибудь оптимизировать этот запрос, чтобы он выполнялся быстрее?

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

У вас есть соответствующие индексы в таблицах?

Посмотрите на Синтаксис CREATE INDEX и Как MySQL использует индексы

0 голосов
/ 24 ноября 2010

Запрос в порядке.Попробуйте индексировать productid в обеих таблицах, а также salestime.

0 голосов
/ 24 ноября 2010

Запрос настолько хорош, насколько это возможно.По своей природе запросы указывают ЧТО делать, а не КАК это делать.

Это RDMS под ним, которая будет влиять на вашу производительность, и основной способ повлиять на запрос, подобный этому, - добавить индексы к столбцам, к которым вы присоединяетесь (oroductid каждой таблицы)

...