powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Редактирование индекса?
28 сообщений из 28, показаны все 2 страниц
Редактирование индекса?
    #39416313
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как внести изменения в таблицу All_Indexes, например мне необходимо проапдейтить поле GLOBAL_STATS с NO на YES? Или может возможно это всё задавать на этапе создания индекса?
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416324
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,

1. Это не таблица, а вьюха.
2. Ты хочешь не радактирование индекса, а изменение метаданных.

Можешь глянуть в определении вьюхи как получается значение этого поля и соотвественно повлиять на него либо сбором статистики либо dbms_stats.set_index_stats.

Только лучше озвучивать зачем тебе это надо, а то желание что-то задавить без объяснения причин выглядит несколько странно.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416331
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopжелание что-то задавитьНе так прочитал.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416346
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop,
Есть два проекта, одинаковые индексы там и там. В первом работает всё стабильно, во втором глючит. План запроса показывает, что не подхватываются индексы, потому выборка идет очень долго. Потому и думаю изменить этот параметр, чтоб посмотреть на результат.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416353
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop,Я конечно может не правильно интерпретирую, параметр global_stats стоит NO и даже если я соберу статистику по индексу он не сработает при выборке по полю в условии WHERE.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416358
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,

смотри чего захотел)

У тебя наверное что то банальное там, типа отсутствия статистики или еще что попроще, а ты хочешь править метаданные.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416369
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601,
Индекс срабатывает при таком запросе
Код: plsql
1.
select c.id_table1 from client c, client_bask cb where c.id_table1 = cd.id_table2


Если не брать выбор поля, то идет скан по всей таблице, хотя в другой базе, точно такая табличка по 50 миллионов записей в табличках и запрос отрабатывает за 0.016 секунды.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416371
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,исправил, опечатка
Код: plsql
1.
select c.id_table1 from client c, client_bask cb where c.id_table1 = cb.id_table2
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416375
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601, что значит нет статистики?
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416383
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21ora601, что значит нет статистики?
oracle index statistics gather
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416385
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601,
Код: plsql
1.
SELECT * FROM client c, client_sub css WHERE c.client_id = css.client_id


В обоих табличках созданы индексы по полю client_id, но в первом случае (база где Global_stats в YES ) план запроса идеальный и запрос 0.2 секунды. (база где Global_stats в NO), идет полный FULL по табличкам и запрос отрабатывает как повезет.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416388
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... хотя правильнее начать с
oracle table statistics gather
... поскольку статистика по индексам, как правило, вещь сопутствующая, интегрированная..
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416390
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer,
Если бы мне помог гугл, сюда не обращался.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416394
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,

/*+gather_plan_statistics*/ на втором запросе что дает?
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416398
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вы там с гуглом общаетесь, отсюда не видно, но целенаправленное направление поиска ещё никому не помешало...
P.S.
как с этим
Код: plsql
1.
2.
3.
select last_analyzed
from all_tables
where table_name = 'TABLE_NAME'


сравните хотя бы это для обоих случаев.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416399
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601,
Если Вы это имеете ввиду
Код: plsql
1.
SELECT  * /*+gather_plan_statistics*/  FROM client c, client_sub css WHERE c.client_id = css.client_id
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416402
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer, сравнил. В первом случае где всё хорошо 12.12.2016, во второй где плохо 02.01.2017. Только что это дает знание дат?
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416406
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,

Нет,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT /*+ GATHER_PLAN_STATISTICS */ *
FROM   emp e, dept d
WHERE  e.deptno = d.deptno
AND    e.ename  = 'SMITH';

SELECT * 
FROM   TABLE(DBMS_XPLAN.DISPLAY_CURSOR(format => 'ALLSTATS LAST'));


...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416407
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21,

SELECT * /*+ gather_plan_statistics */

https://docs.oracle.com/cd/B12037_01/server.101/b10752/hintsref.htm The following syntax shows hints contained in both styles of comments that Oracle supports within a statement block.

{DELETE|INSERT|MERGE|SELECT|UPDATE} /*+ hint [text] [hint[text]]... */

or

{DELETE|INSERT|MERGE|SELECT|UPDATE} --+ hint [text] [hint[text]]...
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416411
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601,

Когда второе условие в where, то индексы подхватываются, но суть запроса, чтоб объединить по одному полю две таблицы и выбрать только совпадение. Вот первая идеально это делает, хотя запрос такой же
Код: plsql
1.
SELECT * FROM client c, client_sub css WHERE c.client_id = css.client_id
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416413
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora601,
Кстати, ORACLE 10 версии.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416416
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21ora601,
Кстати, ORACLE 10 версии.
.... кстати, после цифры 10 идут ещё, весьма важные цифирьки...
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416419
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer, Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
и там и там.
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416423
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
julat21Viewer, сравнил. В первом случае где всё хорошо 12.12.2016, во второй где плохо 02.01.2017. Только что это дает знание дат?
разница в планах доступа, в первом приближении
а) разница в количественном/качественном составе даннных
б) дата сбора статистики отражает актуальное знание оптимизатора о количественном/качественном составе даннных

... данные то в каждом случае, идентенчны, хотя бы количественно?

P.S.
имел счастье встретиться с ситуацией, когда появление очередной месячной порции данных, увеличило время расчёта, по сравнению с предыдущим месяцем, с 40 минут до 9 часов...
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416428
julat21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer,

Та даже суть не в этом. Я тестово создал две таблички по несколько записей туда кинул. Делаю запрос, не берет индекс. На второй базе уже созданы таблички, тоже оставил по несколько записей, блин а там берет индекс точно такой запрос. Потому я пошел и искать разницу в all_indexs, при создании индексов разница только в одном поле GLOBAL_STATS, там NO(для новой таблички и нового индекса), а там YES(старая табличка).
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416438
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.orafaq.com/usenet/comp.databases.oracle.server/2004/10/13/1274.htm
... это для поразмышлять..
julat21Я тестово создал две таблички по несколько записей туда кинул. Делаю запрос, не берет индекс. На второй базе уже созданы таблички, тоже оставил по несколько записей , блин а там берет индекс ,
julat21Viewer, сравнил. В первом случае где всё хорошо 12.12.2016, во второй где плохо 02.01.2017. Только что это дает знание дат?
... как минимум то, что после всех манипуляций, статистику надо пересобрать особенно после " оставил по несколько записей " - а сколько там числится, по старой/существующей, на данный момент статистике?
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416506
Фотография Jebrail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Редактирование индекса?
    #39416565
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Редактирование индекса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]