[ОТВЕТИТЬ]
Опции темы
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?...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, время: 11:04.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.