У меня есть 2 таблицы
1) "продукты" с полями (ProductID PK, название, описание, цена)
2) "продажи" с полями (salesid ПК, salestime, ProductID, CUSTOMERNAME, customeremail , статус)
MySQL присоединиться к проблеме запроса
Мне нужно отображать данные в виде таблицы, как
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
Есть ли способ, который я могу оптимизировать этот запрос, чтобы работать быстрее?
`JOIN` и` ORDER BY` s - это то место, где вы увидите замедление, но если вы измените их, вы не сможете вернуть нужные данные в том порядке, в котором вы хотите. Запрос выглядит хорошо для меня, но индекс столбцов `salestime` и` product_id`, вероятно, поможет немного ускорить процесс. Кроме того, можете ли вы сохранить этот запрос как представление или хранимую процедуру? Когда вызывается SQL, сервер должен скомпилировать код SQL, а затем выполнить его. Когда он вызывается из представления или сохраненного proc, он предварительно скомпилирован сервером, который может сэкономить еще несколько миллисекунд. – bakoyaro 2010-11-24 05:00:33