индекс будет использован для выполнения
Например, индекс будет использован для выполнения следующих двух
операторов SELECT. В обоих случаях доступ к таблице CUSTOMER не
требуется.
SELECT SUM(s.dollar_sales) FROM CUSTOMER c, SALES s
WHERE s.cid = c.cid AND c.gender = 'M';
SELECT SUM(dollar_sales) FROM SALES
WHERE CID IN (SELECT CID FROM CUSTOMERS WHERE
c.gender = 'M');
MTJ-индекс, который конкатенирует значения столбцов из нескольких
таблиц разных измерений, чтобы ограничить строки центральной
таблицы фактов, создается следующим SQL-оператором. При
использовании этого индекса не потребуются соединения для
выполнения звезднообразного оператора SELECT, приведенного выше
(SEL1).
CREATE GK INDEX ORDERSMPG
ON SALES
(SELECT AS KEY t.month, p.package_type, c.gender
FROM SALES s, TIME t, PRODUCT p, CUSTOMER c
WHERE s.day = t.day AND s.pid = p.pid
AND s.cid = c.cid);
Формат GK-индекса настолько гибок, что поддерживает совершенно
новые возможности индексации, такие как индекс на виртуальном
столбце, представленном выражением над базовыми столбцами.
Предположим, что в таблице SALES определяется новый виртуальный
столбец по формуле:
profit_per_unit = (dollar_sales - dollar_cost) / unit_sales
Все три составляющих являются реальными столбцами таблицы SALES,
так что вычисление производится легко для каждой строки SALES.
Такой виртуальный столбец может быть определен с помощью
операторов CREATE TABLE или ALTER TABLE диалекта языка SQL
компании Informix. После этого виртуальный столбец можно
использовать в запросах точно так же, как и реальные столбцы. Для
этого столбца можно создать GK-индекс с помощью простого оператора
CREATE GK INDEX PROFITX
ON SALES
(SELECT AS KEY profit_per_unit
FROM SALES);
Селективный индекс напоминает набор строк, выбираемых из таблицы
при задании в разделе WHERE некоторого набора ограничений. Этот
набор строк, представленный битовой строкой, называется foundset
("найденным набором"). Если имеется желание ограничить внимание в
таблице EMPLOYEES "технарями", можно определить следующий
селективный GK-индекс:
CREATE GK INDEX TECHIES
ON EMPLOYEES
(SELECT AS KEY 'constant'
FROM EMPLOYEES
WHERE hobby = 'math' AND reading = 'Dibert');
Informix старается добиться еще более высоких показателей эффективности в будущем.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий