Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Артикулы с датой последнего прихода (запрос) : Супермаг Плюс (Супермаг 2000)

20.04.2024 10:10


30.05.2008 12:10
rost
 
Собственно нужна таблица с артикулами и датой последнего прихода.
На ум приходит запрос типа

Код:
     select s.Article, max(d.CreateDat) as CD

    from smspec s, SmDocuments d

    where   (s.DocID=d.ID) and

            (s.DocType = d.DocType) and

            (d.OpCode=0) and (s.DocType='WI')and

            (d.LocationTo=2) and

            (d.DocState=3) group by article
Но это крайне плохой с ч.з. производительности ход.
В этой теме обсуждается быстрое получение цены последнего прихода для конкретного артикула.
http://www.olegon.ru/showthread.php?t=3403&highlight=%E7%E0%EF%F0%EE%F1
Хотелось бы как то подобным образом сделать....

Подскажите как можно ускорить ???
Заранее благодарю.
30.05.2008 12:17
Mtirt
 
Добавляешь в тот запрос a2.createdate и получаешь в одном запросе и дату и цену последнего прихода...
30.05.2008 12:35
rost
 
:)
Это понятно. Вопрос по оптимизации запроса, не хочу оставлять так ибо медленно. На самом деле это часть запроса и она слабое звено по быстродействию.

Весовые коэффиценты предикатов в запросах. Чем ниже коэффицент, тем выше скорость выполнения запроса.

Rank Path
====== ============================================
1 ROWID = constant
2 Unique indexed column = constant
3 entire unique concatenated index = constant
4 entire cluster key = corresponding
cluster key in another table in
the same cluster
5 entire cluster key = constant
6 entire non-unique concatenated
index = constant
7 non-unique single column index merge
8 most leading concatenated index = constant
9 indexed column BETWEEN low value AND
high value, or indexed column LIKE 'C%'
(bounded range)
10 sort/merge (joins only)
11 MAX or MIN of single indexed column
12 ORDER BY entire index
13 full table scans
14 unindexed column = constant, or
column IS NULL, or column LIKE '%C%'
(full table scan)
30.05.2008 12:41
Mtirt
 
Я что-то не вижу в данной ветке план запроса... Я слепая?

Точнее даже двух запросов...
30.05.2008 15:25
rost
 
mirt, подскажи, как сюда выложить план??? Сижу с SQL Navigator'е.
В графич виде все видно, сохраняется в табл. SQLN_EXPLAIN_PLAN
03.06.2008 14:04
reddevil
 
Цитата:
rost Собственно нужна таблица с артикулами и датой последнего прихода.
На ум приходит запрос типа
Сходу (не видя плана)приходит на ум:

Код:
     select /*+ full(d) */ s.Article, max(d.CreateDat) as CD

    from smspec s, SmDocuments d

    where   (s.DocID=d.ID) and

            (s.DocType = d.DocType) and

            (d.OpCode=0) and (s.DocType='WI')and

            (d.LocationTo=2) and

            (d.DocState=3) group by article
ну и
06.06.2008 12:55
rost
 
reddevil спасибо.
Скорость выполнения не увеличилась правда....
Часовой пояс GMT +3, время: 10:10.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.