Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции 2011

.pdf
Скачиваний:
137
Добавлен:
10.05.2014
Размер:
2.95 Mб
Скачать

Система индексации в MS SQL Server

7.5

Структура отдельной страницы данных(data page)

Система индексации в MS SQL Server

7.6

Некластерный индекс (Non-clustered Index)

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

Для ссылки используется RID( row identificator), состоящий из : номера файла номера страницы номера строки

Система индексации в MS SQL Server

7.7

Кластерный индекс (Сlustered Index)

Кластерный индекс - объект БД, привязанный к одной и только одной таблицы, задающий порядок записи строк в страницы данных.

Использование кластерного индекса преобразует хранение данных в таблице к B tree (B+ tree, B* tree)

Система индексации в MS SQL Server

7.8

Совместное использование кластерного и некластерного индекса

Таблица без кластерного индекса называется Heap таблицей

Система индексации в MS SQL Server

7.9

Сравнение кластерного и некластерного индекса

 

Кластерный

Некластерный

 

индекс

индекс

 

 

 

Преимущества

Быстрая работа по поиску значений

Длина некластерного индекса не

индекса

влияет на другие индексы

 

Хорошая производительность в

Может быть расположен в объекте

 

случае запросов возвращающих

FileGroup отличном от FileGroup

 

большой набор записей

таблицы

 

 

Колчиество некластерных индексов

 

 

неограниченно c

 

 

 

Недостатки

Длинный кластерный ключ

Как правило работает медленней

увеличивает размер всех

чем кластерный .

 

некластерных индексов

Плохая производительность для

 

Только один кластерный ключ может

запросов возвращающих большой

 

быть создан для таблицы

объем записей.

 

 

 

Система индексации в MS SQL Server

7.10

Алгоритм работы оптимизатора запросов в отношении использования индексов

Анализ

Поиск

Выбор индекса

возможных

атрибутов в

на основе

индексов для

WHERE и JOIN

статистики

атрибутов

 

 

Система индексации в MS SQL Server

7.11

Структура статистической информации

Стастическая информация представляет собой гистограмму

не более чем из 200 ячеек. (DBCC SHOW_STATISTICS WITH HISTOGRAM)

Для каждой ячейки хранится следующая информация:

RANGE_HI_KEY: максимальное значение

EQ_ROWS: количество строк со значением равным RANGE_HI_KEY

RANGE_ROWS: количество строк от предыдущего RANGE_HI_KEY до

RANGE_HI_KEY

AVG_RANGE_ROWS: Среднее количество строк для различных значений внутри RANGE_ROWS

DISTINCT_RANGE_ROWS: Количество различных значений в RANGE_ROWS

Система индексации в MS SQL Server

7.12

Общие рекомендации

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

Избегайте использования локальных переменных в запросах

Используйте автоматическое создания и обновление статистики

Если необходимо используйте сбор статистики с полным сканированием таблицы

CREATE STATISTICS WITH FULLSCAN, NORECOMPUTE UPDATE STATISTICS WITH FULLSCAN, NORECOMPUTE

Чаще собирайте статистику для IDENTITY ключей

Выбор аппаратного обеспечения

7.13

Transaction Processing Performance Council (www.tpc.org)

Состав: Oracle, Microsoft, Intel, AMD, Sun, IBM, HP, Dell, Sybase и т.д.

Набор тестов и результаты измерений для существующих систем:

ТPC-C: производительность on-line transaction processing (OLTP) систем.

TPC-E: обновленная версия TPC-C

TPC-H: производительность систем поддержки принятия решений (decision support system)

Системы управления базами данных

7.14

Схема базы данных TPC-C

Соседние файлы в предмете Архитектура информационных систем