CftClub.ru
Клуб специалистов ЦФТ-Банк

Долгие запросы к bc_map_doc
На страницу Пред.  1, 2, 3, 4
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA
Предыдущая тема :: Следующая тема  
Автор Сообщение
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеСр Июн 06, 2012 12:00    Ответить с цитатой
Полезность: Нет оценки
ага, у себя вообще таких проблем не наблюдаю- откуда это у коллеги все вылезло - вопрос....
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеСр Июн 06, 2012 12:24    Ответить с цитатой
Полезность: Нет оценки
Serj пишет:
ага, у себя вообще таких проблем не наблюдаю- откуда это у коллеги все вылезло - вопрос....

может у Вас в табличке три с половиной записи, в отличие от 11 млн коллеги Smile
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеСр Июн 06, 2012 12:35    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
Serj пишет:
ага, у себя вообще таких проблем не наблюдаю- откуда это у коллеги все вылезло - вопрос....

может у Вас в табличке три с половиной записи, в отличие от 11 млн коллеги Smile
Меня его планы выполнения заинтересовали- кол-во записей не причем.
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеСр Июн 06, 2012 14:59    Ответить с цитатой
Полезность: Нет оценки
Serj пишет:
ну да, только to_char - была крамольная мысля сделать функциональный индекс to_number(C_OBJ_REF) - но кажись толку не будет, да как и где это еще вылезет бог его знает

У нас именно так и сделано, создан индекс по to_number(C_OBJ_REF)!
Приведенный выше запрос становится на этот индекс, и работает быстро.
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеЧт Июн 07, 2012 05:05    Ответить с цитатой
Полезность: Нет оценки
Тогда дистрибутивный придется кокнуть...да и у себя как я и писал не наблюдаем проблем - тогда и лезть не стоит - работает не трожь!
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеЧт Июн 07, 2012 11:20    Ответить с цитатой
Полезность: Нет оценки
Serj пишет:
Тогда дистрибутивный придется кокнуть...

не нужно ничего кокать Smile Они могут существовать вдвоем..

Serj пишет:
да и у себя как я и писал не наблюдаем проблем - тогда и лезть не стоит - работает не трожь!

тут согласен.
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеЧт Июн 07, 2012 13:02    Ответить с цитатой
Полезность: Нет оценки
maestro пишет:
Serj пишет:
Тогда дистрибутивный придется кокнуть...

не нужно ничего кокать Smile Они могут существовать вдвоем..
- покажи как , я так не умею....

Код:


SQL> create index test_Z#BC_MAP_DOC on ibs.Z#BC_MAP_DOC to_number(C_OBJ_REF);
create index test_Z#BC_MAP_DOC on ibs.Z#BC_MAP_DOC to_number(C_OBJ_REF)
                                                             *
ERROR at line 1:
ORA-01408: such column list already indexed

SQL> select index_name,column_name from all_ind_columns where  table_name='Z#BC_MAP_DOC';

INDEX_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
PK_Z#BC_MAP_DOC_ID
ID

IDX_Z#BC_MAP_DOC_BCD
C_BCD_REF

IDX_Z#BC_MAP_DOC_MOD
SYS_NC00019$


INDEX_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
IDX_Z#BC_MAP_DOC_OBJ
C_OBJ_REF

Z#IX_Z#BC_MAP_DOC_COLL
COLLECTION_ID

Z#IX_Z#BC_MAP_DOC_REF13
C_BCD_TYPE


INDEX_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
IDX_Z#BC_MAP_DOC_GATE_ID
SYS_NC00016$

IDX_Z#BC_MAP_DOC_SYS_ID
C_SYS_ID


8 rows selected.

SQL> drop index ibs.IDX_Z#BC_MAP_DOC_OBJ;

Index dropped.

SQL> create index test_Z#BC_MAP_DOC on ibs.Z#BC_MAP_DOC to_number(C_OBJ_REF);

Index created.

SQL>
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеЧт Июн 07, 2012 13:26    Ответить с цитатой
Полезность: Нет оценки
Да, могут оба существовать, эт я обшибся - to_number в скобки не взял - и он создался как normal

Код:

SQL> create index test_Z#BC_MAP_DOC1 on ibs.Z#BC_MAP_DOC (to_number(C_OBJ_REF));

Index created.

SQL> create index test_Z#BC_MAP_DOC2 on ibs.Z#BC_MAP_DOC (upper(C_OBJ_REF));

Index created.

SQL>
SQL> SELECT INDEX_NAME, INDEX_TYPE FROM ALL_INDEXES WHERE TABLE_NAME='Z#BC_MAP_DOC';

INDEX_NAME                     INDEX_TYPE
------------------------------ ---------------------------
PK_Z#BC_MAP_DOC_ID             NORMAL
IDX_Z#BC_MAP_DOC_SYS_ID        NORMAL
IDX_Z#BC_MAP_DOC_BCD           NORMAL
IDX_Z#BC_MAP_DOC_MOD           FUNCTION-BASED NORMAL
TEST_Z#BC_MAP_DOC1             FUNCTION-BASED NORMAL
Z#IX_Z#BC_MAP_DOC_COLL         NORMAL
TEST_Z#BC_MAP_DOC2             FUNCTION-BASED NORMAL
Z#IX_Z#BC_MAP_DOC_REF13        NORMAL
IDX_Z#BC_MAP_DOC_GATE_ID       FUNCTION-BASED NORMAL

9 rows select
Laughing
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеСр Июн 13, 2012 13:09    Ответить с цитатой
Полезность: Нет оценки
В общем, обратился в поддержку, долго они думали и тупо в операции вставили to_char, включат в ближайшее обновление дистрибутива, с остальными подобными обращениями к таблице обещали разбираться по мере поступления
Serj
Профи


Вступление в Клуб: 02.08.2007
СообщениеСр Июн 13, 2012 13:45    Ответить с цитатой
Полезность: Нет оценки
Им виднее, вставить to_char в операцию выгоднее в том плане, что каждый созданный "лишний" индекс делает вставку в таблицу более дорогим удовольствием. Very Happy
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4
Страница 4 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru