Программирование >>  Реализация баз данных 

1 ... 113 114 115 [ 116 ] 117 118 119 ... 162


FOREIGN KEY(ordericl) REFERENCES orders(orderid)

5. На панели Editor в окне Query введите и исполните следующий код: SphieLpindex orders GO

sp helplndex bookorders

С результирующего набора, показанного на панели Results, индексы

таблиц Orders и BookOrders.

Как переименовать и удалить

1. Введите на панели Editor в окне Query следующий код:

sprename

@iobjname orders, customerorder, @newnariiie = IN CustonierOrder, gobjtype - INDEX-

Индекс Order переименовывается в в соответствии с пра-

вилами именования, принятыми компании: все индексы, не связанные с ограничением primary key, должны иметь префикс IN .

2. Исполните код.

На панели Results вкладки Grids выводится сообщение об успешном переименовании индекса merOrder тережение о том, что изменение имени объекта может нарушить работу етариев и хранимые пользу:ющи.х этот объект. Теперь удалите индекс INCustornerOrder.

3. На панели Editor в окне Query и исполните следующий код: DROP INDEX orders. in custofnerorder, books, tltlesoldstatus

Индекс удаляется из Orders, а из таблицы Books - индекс

TltieSoldStatiis.

4. На панели Editor в окне Query введите и исполните следующий код:

CREATE UNIQUE TERED INDEX orders pk ONonjGi й(и derid) WITH DROP EXISTING

Индекс созданный для ограничения преобразуется из уникаль-

ного некластерного в уникальный кластерный. Обратите внимание, что некластерный

индекс конвертирован в кластерный, хотя ранее в этом упражнении вы убедились, что кластерный индекс нельзя преобрззовать в некластерный напрямую.



Резюме

Индексы создаются с помощью оператора CREATE INDEX или инструментов с графическим интерфейсом типа Object Browser в Query Analyzer или Enterprise Manager. Кроме

того, в Enterprise Manager имеется мастер Create Index, помогающий пользователю на всех

этапах создания индекса, Индексы автоматически создаются для ограничений primary key

и unique, которые определяются операторами CREATE TABLE и ALTER TABLE или инструментами с графическим интерфейсом, например Enterprise Manager. При создании

индекса задаются его свойства, например тип, порядок сортировки и фактор заполнения.

Задачи по администрированию индекса подразумевают перестройку, удаление и переименование. Для удаления индексов используется оператор DROP или инструменты с графическим интерфейсом, например Object Browser в Query Analyzer. Наиболее эффективно перестраивает индексы оператор DBCC DBREINDEX или CREATE INDEX с

конструкцией DROPEXISTING. Для переименования индекса применяется системная хранимая процедура sprename.

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

должны поддерживать типичные запросы к БД. Индексы особенно полезны для запросов точно соответствующих значений, некоторых запросов со знаками подстановки, запросов диапазонов значений, запросов с соединениями с упорядоченным результирую-

щим набором, покрытых запросов и запросов с большими результирующими наборами. Мастер Index Tuning помогает конструировать мдящие индексы. Он анализирует рабочую нагрузку и предлагает индексы, соответствующие назначению БД. SQL Server автоматически поддерживает статистику распределения значений столбцов, составляющих ключ индекса. От нее зависит работа оптимизатора запросов.



Закрепление материала

9 j Приведенные ниже вопрось помогут вам лучше усвоить основные темы данной -isr. главы. Если вы не сумеете ответить на вопрос, повторите материал соответствующего занятия и попытайтесь еще раз. Ответы для самопроверки вы найдете в приложении и

1. Может ли кластерный индек1ть также уникальным?

2. В таблице Customers есть кластерный индекс у столбца с первичным ключом (Cu-<to-merlD) и некластерный индекс у столбца LastName. Будет ли некластерный индекс

для следующего запроса:

SELECT LastName omerlU FROM Customers WHERE LastName LIKE nej

3. Всегда ли составной ключ индекса входит ающий индекс?

4. Как глобальный коэффициент ения влияет вующие индексы и на новые индексы, для которых не зад1Н коэффициент заполнения?

3. Как поддерживать коэффициент заполнения для существующих

6. Какого типа индекс фективность исполнения следующего запроса: SELECT ctnaiDe FRO productname LIKE %toor

7. Создан следующий составной индекс:

CREATE UNIQUE TEREL) INDEX indexOI

ON i;iiiplovees(sociaLsecurityn:jrber, lastname)

Является MexOI идеальным индексом дл щего запроса:

SELECT soclalsecuritynumber, lastname

FROM employees

WHERE lastname = kPiviani

Объясните свой ответ.

8. Почему создавать широкие ключи кластерных индексов нерационально?

9. Разработке какого тип ексов следует уделять наибольшее внимание: кластерных или некластерных? Поясните сво i ответ.

10. тпе создан единственные терный индекс. Что является его закладкой?

Какой порядок сортировки задан для ключа индекса по умолчанию?

12. Нужно создать некластерный индекс на представлении в SQL Server 2000 Enterprise Edition, но при попытке сделать возвращается сообщение об ошибке с утверждением, что невозможно создать индекс на представлении. Какова наиболее вероятная причина появления этого сообщения?



1 ... 113 114 115 [ 116 ] 117 118 119 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика