Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

Ищу пояснения по полям User_Indexes   Найти похожие ветки 

 
Desdechado ©   (2006-10-17 17:50) [0]

ORA 9.2 Enterprise Edition

Тех, что описаны в документе A96536-02, недостаточно. Уж слишком там кратко. Если кто поделится ссылочкой, буду очень благодарен.

В частности, очень интересует, что значит поле NUM_ROWS для BITMAP-индексов.
Для NORMAL-индекса это вроде кол-во индексированных ключей.

PS на SQL.ru почему-то тему зарубили :(


 
evvcom ©   (2006-10-17 18:32) [1]

Я создал сейчас битмап индекс на столбец, в таблице 2 записи. В индексированном столбце 1 запись null, другая not null, выполнил селект из User_Indexes. NUM_ROWS в результате null. Сделал Analyze Index, в результате 2. Добавил еще пару таких же записей и analyze. В результате 4. Т.е. количество записей.

> Для NORMAL-индекса это вроде кол-во индексированных ключей.

Наверное, все же проиндексированные записи имелись ввиду?


 
Desdechado ©   (2006-10-17 18:41) [2]

вот из реальной БД:

index_name, index_type, distinct_keys, num_rows
-----------------------------------------------
FK_ZAYAVKA_OBJNAMES   NORMAL    987    188262
FK_ZAYAVKA_REGIONS    BITMAP    14    22


 
Desdechado ©   (2006-10-17 18:43) [3]

> все же проиндексированные записи имелись ввиду?
Нет, именно ключи. Бо NULL не индексируется (отсутствует) в NORMAL-индексах.


 
ANB ©   (2006-10-17 18:45) [4]


> Бо NULL не индексируется (отсутствует) в NORMAL-индексах

Не знаю, не знаю. Запрос Is null работает заметно шустрее на индексированном поле.


 
evvcom ©   (2006-10-17 18:46) [5]

А эти индексы
> FK_ZAYAVKA_OBJNAMES
> FK_ZAYAVKA_REGIONS

к одной таблице?


 
evvcom ©   (2006-10-17 18:49) [6]

> [4] ANB ©   (17.10.06 18:45)
> Не знаю, не знаю.

null-ы точно не индексируются в NORMAL. Если индекс составной, тогда там хитрее.

> Запрос Is null работает заметно шустрее на индексированном
> поле

может is not null? И то не факт, что индекс будет выбран. План смотри.


 
evvcom ©   (2006-10-17 18:53) [7]

Пока нет ответа на [5], (думаю таблицы разные) мои предположения. В битмапе у тебя всего 22 строки, из них различных значений поля 14. Null здесь индексируется.
В normal у тебя 188262 не нульных записи, и из них 987 различных значений.


 
Desdechado ©   (2006-10-17 18:56) [8]

evvcom ©   (17.10.06 18:46) [5]
К одной. У меня правило именования такие:
FK = Foreign KEY
затем имя таблицы, которая индексируется
затем имя таблицы, на которую FK ссылается
затем (при необходимости) имя поля в таблице, на которую FK ссылается


 
Desdechado ©   (2006-10-17 18:57) [9]

статистика, естественно, собрана


 
Desdechado ©   (2006-10-17 18:59) [10]

> Запрос Is null работает заметно шустрее на индексированном поле.
Кайта читай, план смотри.
IS NULL вызывает полный перебор таблицы.


 
evvcom ©   (2006-10-18 08:56) [11]

> [8] Desdechado ©   (17.10.06 18:56)
> К одной

Да, я уже потом подумал об этом.
Дропнул индекс из [1] и создал заново. DISTINCT_KEYS/NUM_ROWS стало 2/2. Добавил еще запись: 2/3. Еще запись 2/4. Опять drop/create: 2/2.
Похоже NUM_ROWS отображает какое-то внутреннее количество каких-то строк в битмап-индексе и может говорить, видимо, только об оптимальности занимаемого индексом места, а стало быть эффективности его использования. Информация для админа, видимо.


 
ANB ©   (2006-10-18 10:14) [12]


> IS NULL вызывает полный перебор таблицы.

Действительно, по плану - фулл скан.

Однако :

создал таблицу на 10 миллионов записей. В каждой 1000-й записи - налл.
Дернул is null. Сервер лег.
Проиндексировал поле (индекс обычный, не уникальный). Дернул - 5 секунд.


 
Desdechado ©   (2006-10-18 10:39) [13]

> Проиндексировал поле (индекс обычный, не уникальный). Дернул - 5 секунд.
Прокэшировалась.

Вообще-то я просил ссылку на материалы по этому поводу, если кто находил.


 
Desdechado ©   (2006-10-19 10:53) [14]

Кому интересно, продолжение дискуссии здесь
http://sql.ru/forum/actualthread.aspx?bid=3&tid=351036&pg=-1


 
evvcom ©   (2006-10-19 14:53) [15]

Поучительно. Все из понимания внутреннего устройства. Кое-что из этого знал, на курсах говорили, но говорили очень уж туманно. А кое-чего действительно не знал, потому не понимал.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.045 c
15-1165939077
Cyrax
2006-12-12 18:57
2006.12.31
Как можно заюзать хидер, не пользуясь директивой #include ?


2-1165948805
GEN++
2006-12-12 21:40
2006.12.31
NMStrmServ


4-1156328889
sem2001
2006-08-23 14:28
2006.12.31
Процессы


15-1165824510
ocean
2006-12-11 11:08
2006.12.31
Удаленный доступ через Интернет


15-1165573913
plotn
2006-12-08 13:31
2006.12.31
Иконки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский