powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фактор кластеризации локального индекса
7 сообщений из 7, страница 1 из 1
Фактор кластеризации локального индекса
    #39351057
Миша78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, форумчане))

Подскажите пожалуйста, как уменьшить фактор кластеризации локального индекса? Сейчас он почти равен количеству строк в таблице.

--ФАКТОР КЛАСТЕРИЗАЦИИ
Select I.OWNER,T.TABLE_NAME, I.INDEX_NAME, T.BLOCKS, I.CLUSTERING_FACTOR, I.NUM_ROWS
from ALL_INDEXES I, ALL_TABLES T
where I.table_name=T.table_name and I.owner=T.owner and I.owner='MMIKHAILOV'
and I.index_name='I_SALES_DATE';

BLOCKS Фактор кластеризации NUM_ROWS
MMIKHAILOV TRACKDOWNLOADS I_SALES_DATE 325 99714 99999


Ничего не дает:
ALTER INDEX MMIKHAILOV.I_SALES_DATE rebuild PARTITION SALES_2016_01
ALTER INDEX MMIKHAILOV.I_SALES_DATE rebuild PARTITION SALES_2016_02
ALTER INDEX MMIKHAILOV.I_SALES_DATE rebuild PARTITION SALES_2016_03

ALTER INDEX MMIKHAILOV.I_SALES_DATE COALESCE/REBUILD - ORA-08111:A partitioned index may not be coalesced as a whole





Таблица:

-- Create table
create table TRACKDOWNLOADS
(
downloadid NUMBER,
trackid NUMBER,
userid NUMBER,
downloadtime DATE
)
partition by range (DOWNLOADTIME)
(
partition SALES_2016_01 values less than (TO_DATE(' 2016-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
tablespace BIS_MIDDLE_I
pctfree 1
pctused 99
initrans 1
maxtrans 255,
partition SALES_2016_02 values less than (TO_DATE(' 2016-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
tablespace BIS_MIDDLE_I
pctfree 1
pctused 99
initrans 1
maxtrans 255,
partition SALES_2016_03 values less than (TO_DATE(' 2016-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
tablespace BIS_MIDDLE_I
pctfree 1
pctused 99
initrans 1
maxtrans 255,
partition SALES_2016_04 values less than (TO_DATE(' 2016-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
tablespace BIS_MIDDLE_I
pctfree 1
pctused 99
initrans 1
maxtrans 255,
partition SALES_MAX values less than (MAXVALUE)
tablespace BIS_MIDDLE_I
pctfree 1
pctused 99
initrans 1
maxtrans 255
storage
(
initial 8M
next 1M
minextents 1
maxextents unlimited
)
);
-- Create/Recreate indexes
create index I_SALES_DATE on TRACKDOWNLOADS (DOWNLOADTIME)
local;


Спасибо.
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39351064
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перестроить ТАБЛИЦУ -- уложить данные в нужном порядке
При этом может ухудшиться CF других индексов
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39351194
Миша78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А есть ли команда без перестройки структуры таблицы?
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39351206
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Миша78А есть ли команда без перестройки структуры таблицы?

Есть - create table as select order by :)
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39351210
ora601
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Миша78А есть ли команда без перестройки структуры таблицы?

Сорри, прочитал как "для". Как ты это себе представляешь, перестроить структуру таблицы без перестройки структуры таблицы? Читать доку срочно .
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39351544
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Структуру перестраивать не надо, надо изменить ПОРЯДОК
В твоем случае самое простое (в нерабочее время) примерно так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table tmp_2016_01 tablespace bis_middle_i
as select * from trackdownloads partition (sales_2016_01) order by downloadtime
/
create index i_tmp_2016_01 on tmp_2016_01(downloadtime)
/
alter table trackdownloads exchange partition sales_2016_01 with table tmp_2016_01 including indexes
/
drop table tmp_2016_01 purge
/

И так для каждой секции
...
Рейтинг: 0 / 0
Фактор кластеризации локального индекса
    #39358185
Миша78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров, спасибо большое.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фактор кластеризации локального индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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