Ñóááîòà, 18 ßíâàðÿ 2014 ã. 14:43
+ â öèòàòíèê
Âñåì ïðèâåò :-)
Ïîäñêàæèòå, ïëèç, ìîæíî ëè îïòèìèçèðîâàòü òàêîé çàïðîñ:
Èìåþòñÿ äâå òàáëè÷êè - òîâàð (good) è åãî èñòîðèÿ èçìåíåíèÿ öåí (cost), íóæíî ïîëó÷èòü íàèìåíîâàíèå òîâàðà è åãî ïîñëåäíþþ öåíó.
Òàáëè÷êè:
good
------
GoodID
Name
DatePrice
cost
----
CostID
GoodID
DatePrice
Price
ß ñäåëàë òàê:
SELECT g.Name, c.DatePrice, c.Price
FROM good g INNER JOIN cost c ON g.GoodID = c.GoodID
WHERE c.CostID IN (SELECT MAX(CostID)
FROM cost
GROUP BY GoodID)
ORDER BY g.Name, ñ.DatePrice, c.Price ASC
Òàêîé çàïðîñ ðàáîòàåò êðàéíå äîëãî. Õîòÿ çàïèñåé â good ~5500, à â ~16500. Âðîäå íå òàê óæ è ìíîãî...
http://www.sql.ru/forum/1071739/optimizirovat-zapros
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-