|
|
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
Привет, форумчане)) Подскажите пожалуйста, как уменьшить фактор кластеризации локального индекса? Сейчас он почти равен количеству строк в таблице. --ФАКТОР КЛАСТЕРИЗАЦИИ 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; Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 14:09 |
|
||
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
Перестроить ТАБЛИЦУ -- уложить данные в нужном порядке При этом может ухудшиться CF других индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 14:17 |
|
||
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
А есть ли команда без перестройки структуры таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 16:00 |
|
||
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
Миша78А есть ли команда без перестройки структуры таблицы? Есть - create table as select order by :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 16:10 |
|
||
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
Миша78А есть ли команда без перестройки структуры таблицы? Сорри, прочитал как "для". Как ты это себе представляешь, перестроить структуру таблицы без перестройки структуры таблицы? Читать доку срочно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 16:13 |
|
||
|
Фактор кластеризации локального индекса
|
|||
|---|---|---|---|
|
#18+
Структуру перестраивать не надо, надо изменить ПОРЯДОК В твоем случае самое простое (в нерабочее время) примерно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. И так для каждой секции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 02:18 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39351194&tid=1886914]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 482ms |

| 0 / 0 |
