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

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

23.11.2024 14:01


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

Код:
     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?...ghlight=??????
Хотелось бы как то подобным образом сделать....

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

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

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
Я что-то не вижу в данной ветке план запроса... Я слепая?

Точнее даже двух запросов...
30.05.2008 15:25
mirt, подскажи, как сюда выложить план??? Сижу с SQL Navigator'е.
В графич виде все видно, сохраняется в табл. SQLN_EXPLAIN_PLAN
03.06.2008 14:04
Цитата:
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
reddevil спасибо.
Скорость выполнения не увеличилась правда....
Часовой пояс GMT +3, время: 14:01.

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