powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как узнать по каким столбцам будут сортироваться данные в отсортированном хеш-кластере?
3 сообщений из 3, страница 1 из 1
Как узнать по каким столбцам будут сортироваться данные в отсортированном хеш-кластере?
    #39762752
Здравствуйте!

Допустим, имеется отсортированный хеш-кластер (sorted hash cluster):
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE CLUSTER call_detail_cluster ( 
   telephone_number NUMBER, 
   call_timestamp   NUMBER SORT, 
   call_duration    NUMBER SORT ) 
  HASHKEYS 10000 
  HASH IS telephone_number 
  SIZE 256; 

CREATE TABLE call_detail ( 
   telephone_number     NUMBER, 
   call_timestamp       NUMBER   SORT, 
   call_duration        NUMBER   SORT, 
   other_info           VARCHAR2(30) ) 
  CLUSTER call_detail_cluster ( 
   telephone_number, call_timestamp, call_duration );



Где в таблицах USER_... увидеть по каким столбцам он отсортирован (фраза SORT для столбцов CALL_TIMESTAMP и CALL_DURATION)?

Автоматически создаётся индекс SYS_IQxxx$$ (в моём случае SYS_IQ0000193068$$), но если запросить представление USER_IND_COLUMNS для этого индекса, то вернётся пустой набор строк.

Из USER_TAB_COLUMNS для кластера тоже не извлечь эту инфу.

Единственно, что я смог нарыть, это выполнить запрос из-под SYS:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT c.col#, c.name,
       CASE
         WHEN MOD(BITAND(c.property, 4294967295), 268435456) >= 134217728 THEN
           'SORT'
       END sort_clause
  FROM all_objects o,
       col$ c
 WHERE o.object_type = 'CLUSTER'
   AND o.owner = <owner>
   AND o.object_name = 'CALL_DETAIL_CLUSTER'
   AND c.obj# = o.object_id


и получить в результате нужное:
COL#NAMESORT_CLAUSE1TELEPHONE_NUMBER2CALL_TIMESTAMPSORT3CALL_DURATIONSORT
...
Рейтинг: 0 / 0
Как узнать по каким столбцам будут сортироваться данные в отсортированном хеш-кластере?
    #39762800
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей В. Морозовзапрос из-под SYSЕсли смущает SYSковость запроса, property можно получить через dbms_metadata.get_xml.
...
Рейтинг: 0 / 0
Как узнать по каким столбцам будут сортироваться данные в отсортированном хеш-кластере?
    #39762809
-2-,

Это понятно, так как в указанном мной запросе выражение MOD(BITAND(c.property, 4294967295), 268435456) >= 134217728 сконструировано на основе содержимого представлений с которыми работает пакет dbms_metadata. Боюсь, Oracle не реализовал это в представлениях USER_... .
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как узнать по каким столбцам будут сортироваться данные в отсортированном хеш-кластере?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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