индекс больше таблицы

Alexus12
Дата: 01.10.2004 13:52:47
есть таблица
дата / код_varchar2(20) / сумма_number (15.2)

есть по ней уникальный индекс (primary key его создал) по дата+код

из user_extents
размер таблицы = 210 Мб
индекса = 340 Мб

Это нормально вообще?
Или есть пути оптимизации?
каждая дата содержит около 250 тыс кодов,
внутри каждой даты 60-85% кодов повторяются
roottim
Дата: 01.10.2004 14:25:08
create table
(
...
primary key ...
)
organization index;
Vladimir_
Дата: 01.10.2004 15:01:52
автор
внутри каждой даты 60-85% кодов повторяются ...
есть по ней уникальный индекс (primary key его создал) по дата+код

как это сочетается между собой?
Sergey Lookin
Дата: 01.10.2004 15:02:20
То что индекс больше таблицы - нормально.
Но тут правильно посоветовали IOT таблицу попробывать использовать.
----
DBA9i OCA
Markelenkov
Дата: 01.10.2004 20:32:29
Alexus12
из user_extents
размер таблицы = 210 Мб
индекса = 340 Мб

Правильней после их анализа (analyze table/index ...) сравнить количество занимаемых ими блоков. Хотя ничего невероятного нет. И причин для беспокойства тоже.

Но если очень хочется, то кроме IOT еще можно поиграть у индекса параметром pctfree и особенно параметром compress, попробовав разный порядок полей в ключе.

P.S. Все варианты решения имеют свои недостатки.
Вячеслав Любомудров
Дата: 02.10.2004 03:40:59
И посмотреть на параметр pctincrease у индекса
Alexus12
Дата: 05.10.2004 10:01:45
так
IOT не могу - репликация на них запрещена,
а у меня snapshot (итоговый-группировочный) на ней висит
абыдно
Alexus12
Дата: 12.10.2004 10:38:48
читаю про bitmap индексы
написано:
для data warehouse самое оно, малый размер, быстрая работа на медленном железе,
особенно когда велик процент повторений

имеем таблицу: дата/счет/сумма
индекс вешаем на дату (повторения - 100-200 тыс записей с одной и той же датой * 50 дат)

выполняем запрос:
SELECT дата, sum(сумма)
group by дата

= 200 сек

выполняем запрос:
SELECT дата, sum(сумма)
group by дата
WHERE дата = нужная дата

= те же 200 сек,
то есть явный полный скан?!
Правильно понимаю, что индекс не используется?!

В чем моя ошибка?
СПАСИБО!
Калина
Дата: 12.10.2004 10:58:07
Читаем про Explain и узнаем про план выполнения запроса , определяемся с возможностью медленной работы на любом железе
Alexus12
Дата: 12.10.2004 11:10:09
Explain и выдает full table scan в обоих случаях
(и по всей таблице, и с указанием WHERE)

то есть индекс не используется 8(
что не так делаю?
как нужно?
где почитать?