Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 оптимизировать запрос  [new]
ips
Member

Откуда:
Сообщений: 135
Можно ли оптимизировать запрос?

План такой

select /*+index(n) index(nt INDX_NCARDS_NUMBERS) */
 *
  from life t, ncards nt
 where    t.tip = 3395
   and t.displayvalue = trim(To_char(nt.numberagcd, '00')) || '-' ||
       trim(To_char(nt.number__, '000000')) || '(' ||
       trim(To_char(nt.subnumber, '000')) || ')'


план такой

SELECT STATEMENT, GOAL = CHOOSE			Cost=19769	Cardinality=34835136	Bytes=14108230080
 HASH JOIN			Cost=19769	Cardinality=34835136	Bytes=14108230080
  TABLE ACCESS FULL	Object owner=INT1230	Object name=LIFE	Cost=17106	Cardinality=425782	Bytes=37894598
  TABLE ACCESS BY INDEX ROWID	Object owner=DPM_RONE	Object name=NCARDS	Cost=826	Cardinality=422467	Bytes=133499572
   INDEX FULL SCAN	Object owner=DPM_RONE	Object name=INDX_NCARDS_NUMBERS	Cost=26	Cardinality=422467	
5 фев 07, 12:31    [3738852]     Ответить | Цитировать Сообщить модератору
 Re: оптимизировать запрос  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Конечно, можно (влоб) построить fbi над конкатенацией..
Или поле (с ней же) добавить в таблицу и индексировать..
Но, раньше - попробуйте перезаточить джоин, типа:
and substr(t.displayvalue,..) = nt.numberagcd
and substr(t.displayvalue,..) = nt...
5 фев 07, 12:53    [3739014]     Ответить | Цитировать Сообщить модератору
 Re: оптимизировать запрос  [new]
ips
Member

Откуда:
Сообщений: 135
спасибо за совет, пробуем так.
5 фев 07, 16:26    [3740543]     Ответить | Цитировать Сообщить модератору
 Re: оптимизировать запрос  [new]
barda
Member

Откуда: Беларусь, Минск
Сообщений: 20
сначала бы было неплохо узнать
сколько строк

select
distinct
t.displayvalue
from life t

select
distinct
trim(To_char(nt.numberagcd, '00')) || '-' ||
trim(To_char(nt.number__, '000000')) || '(' ||
trim(To_char(nt.subnumber, '000')) || ')'
from ncards

и потом как сказал orawish
5 фев 07, 16:31    [3740593]     Ответить | Цитировать Сообщить модератору
 Re: оптимизировать запрос  [new]
miksoft
Member

Откуда:
Сообщений: 38540
barda
сначала бы было неплохо узнать
сколько строк
основное обсуждение тут
5 фев 07, 16:43    [3740667]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить