Как определить, использует ли таблица круговую фрагментацию? Есть два способа:
Один простой способ, чтобы получить схему таблицы/индекса, используя dbschema
UNIXprompt> dbschema -d <db name> -ss -t <table name>
если вы видите слова «круговике» в создании таблицы DDL, то вы будете знать.
Другой запрос к SMI:
database <db name>;
select unique(strategy) from sysfragments
where fragtype = 'T'
and tabid = (select tabid from systables where tabname = '<table name>';
Здесь ключевое значение для столбца стратегии:
R = Круговой фрагментации стратегия
Е = Выражение на основе стратегии фрагментации
Я = IN DBSPACE указывает конкретное местоположение как часть стратегии фрагментации
T = стратегия фрагментации на основе таблиц
H = Таблица представляет собой подтаблицу с иерархией таблиц (IDS) или фрагментами на основе хэша (XPS).
И последнее, но не в последнюю очередь, я работаю с XLDBs (самая большая таблица до сих пор 1.5K широкие, 600+ колонны, 60 млрд РИК, да, миллиардов), и индексация делает ОГРОМНЫЙ разницу, как в секундах против часов (предоставлено, у меня было ≈100 vCPU, выделенных для моего сервера базы данных), поэтому я предлагаю вам сделать петицию в вашем совете по управлению изменениями и создать свой индекс, когда вы получите разрешение на это, просто убедитесь, что вы используете «онлайн» ", определите свой правильный fillfactor и не забудьте обновить статистику (используйте дост Art).
Мои 2 цента ...
Можете ли вы предсказать, сколько результатов ваш запрос будет возвращать? .. Если это одноранговой запрос одноразовую, вы можете клонировать таблицу и добавить индексы для поддержки запросов ? –