Помощь в учёбе, очень быстро...
Работаем вместе до победы

Хешированные кластеры. 
Организация баз данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Хешированные кластеры можно использовать там, где значение ключа используется для установления условия равенства. Хешированные кластеры не должны использоваться для проверки принадлежности ключа к диапазону или для подстановочных знаков. В некоторых поисках подстановочных знаков и проверках принадлежности к диапазону используются индексы, и для одного и того же столбца можно иметь и индекс… Читать ещё >

Хешированные кластеры. Организация баз данных (реферат, курсовая, диплом, контрольная)

Хешированный кластер аналогичен по своему характеру, индексированному кластеру в том отношении, что строки в нем хранятся в зависимости от значения ключа. Однако в состав хешированного кластера входит только одна таблица. Физическое расположение хранимой строки все еще основано на значении ключа, но значение ключа используется в хеш-функции, которая вырабатывает данные о физическом расположении строки.

Преимущество хешированного кластера состоит в том, что при выборе строки на основе значения ключа информацию о физическом расположении строки можно получить по значению ключа без необходимости выполнения полного просмотра таблицы или индексного доступа к данным.

Для хешированного кластера создается кластерный объект посредством определения типа ключевых столбцов, размера каждой строки и числа различных значений ключа. Эта информация используется для определения того, где будут храниться строки и какой объем памяти должен быть первоначально распределен для хешированного кластера (если фраза storage не определена) — дополнительный объем памяти будет автоматически распределен, когда потребуется, точно так же, как распределяются дополнительные экстенты для других объектов базы данных.

В следующем примере показано создание хешированного кластера, в котором хранятся данные таблицы командированных сотрудников. Можно определить, что строки с одним и тем же хешированным значением (mycol, который хранит номер заказчика) будут иметь средний размер 1 Кб. Число различных хешированных значений ключа равно 200 (число различных номеров заказчиков).

SQL> CREATE CLUSTER hashed_delegates (delegatejd NUMBERS, 0)).

SIZE IK HASH IS delegatejd HASHKEYS 200;

Cluster created.

SQL>

SQL>

CREATE TABLE delegates.

(d_delegate_idNUMBER (5)NOTNULL, d_lastnameVARCHAR2(20)NOTNULL, d_firstnameVARCHAR2(20), d_organizationVARCHAR2(20), d_sex VARCHAR2(1), date_last_contacted DATE).

CLUSTER hashed_delegates (d_delegate_id);

Table created.

SQL>

Указанный выше хешированный кластер можно использовать в запросе следующего типа, где известно значение ключа:

SQL> SELECT *.

FROM delegates.

WHERE d_delegate_id = 25;

Хешированные кластеры можно использовать там, где значение ключа используется для установления условия равенства. Хешированные кластеры не должны использоваться для проверки принадлежности ключа к диапазону или для подстановочных знаков. В некоторых поисках подстановочных знаков и проверках принадлежности к диапазону используются индексы, и для одного и того же столбца можно иметь и индекс, и хешированный кластер, чтобы ускорить поиск для условий точных соответствий (хешированные кластеры) и частичных соответствий (индексы).

ПРИМЕЧАНИЕ.

Для одного и того же столбца таблицы может быть установлен и хешированный кластер, и обычный индекс.

Один из недостатков хешированных кластеров состоит в том, что если значения ключа не распределены равномерно (например, если хешированный кластер создан на фамилиях командированных сотрудников и имеется много командированных сотрудников с одинаковой фамилией), то к одному и тому же физическому расположению будет подключено много строк. Блоки Oracle могут хранить только определенное число строк (в зависимости от того, какие они имеют размеры.) и те строки, которые не впишутся в блок, будут храниться в другом блоке, называемом блоком переполнения. Если затем потребуется обратиться ко всем строкам с тем же значением ключа, программное обеспечение Oracle будет обращаться к первоначальному блоку и ко всем блокам переполнения. Это приведет к доступу к большему числу блоков Oracle, что повлечет за собой снижение производительности.

Показать весь текст
Заполнить форму текущей работой