Слайд 2
![Индексы – Теоретические основы Кучи и Индексы Кластерный индекс Не](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-1.jpg)
Индексы – Теоретические основы
Кучи и Индексы
Кластерный индекс
Не кластерный индекс
Составной ключ
Уникальные индексы
Доступ
к записям при наличии или отсутствии индексов
Статистика и выбор индексов
Слайд 3
![Кучи и Индексы SELECT * FROM Customers WHERE CustomerID = “ROMEY” (table scan – сканирование таблицы)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-2.jpg)
Кучи и Индексы
SELECT * FROM Customers WHERE CustomerID = “ROMEY”
(table scan
– сканирование таблицы)
Слайд 4
![Достоинства и недостатки индексов Функции увеличение скорости доступа к данным](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-3.jpg)
Достоинства и недостатки индексов
Функции
увеличение скорости доступа к данным
поддержка уникальности данных
Недостатки
занимают дополнительное
место
замедляются операции вставки, обновления и удаления записей
Слайд 5
![B-деревья (B-tree) … Where CustomerID = ‘ROMEY’ будут прочитаны только](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-4.jpg)
B-деревья (B-tree)
… Where CustomerID = ‘ROMEY’
будут прочитаны только страницы 30, 22
и 10 в указанном порядке
Корневой уровень
Промежуточный уровень
Уровень листьев (leaf level) 20 -23
Уровень данных
ROW ID (ID 1:13:5)
Слайд 6
![Кластерный индекс leaf level этого индекса есть сами страницы таблицы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-5.jpg)
Кластерный индекс
leaf level этого индекса есть сами страницы таблицы с данными
Может
быть только один
Является уникальным
Слайд 7
![Не кластерный индекс](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-6.jpg)
Слайд 8
![Некластерный индекс поверх кластерного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-7.jpg)
Некластерный индекс поверх кластерного
Слайд 9
![Составной ключ Длина ключа индекса не должна превышать 900 байт](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-8.jpg)
Составной ключ
Длина ключа индекса не должна превышать 900 байт
16 столбцов
Уникальные индексы
Unique
constrain
Primary key
Слайд 10
![Доступ к записям при наличии или отсутствии индексов Сканирование таблицы.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-9.jpg)
Доступ к записям при наличии или отсутствии индексов
Сканирование таблицы.
Выборка данных по
кластерному индексу
Выборка данных по не кластерному индексу
Слайд 11
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-10.jpg)
Слайд 12
![Создание индекса TSQL CREATE [ UNIQUE ] [ CLUSTERED |](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-11.jpg)
Создание индекса TSQL
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]
INDEX index_name ON
Слайд 13
![Параметры ASC|DESC INCLUDE ( column [ ,... n ] )](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-12.jpg)
Параметры
ASC|DESC
INCLUDE ( column [ ,... n ] ) – 1023 до
2 ГБ
WITH
FILLFACTOR = fillfactor
IGNORE_DUP_KEY
SORT_IN_TEMPDB = { ON | OFF }
STATISTICS_NORECOMPUTE = { ON | OFF}
DROP_EXISTING = { ON | OFF }
Слайд 14
![Информация об индексах sp_helpindex ‘Orders’ SELECT indid, name, first, root, dpages, rowcnt FROM sysindexes WHERE id=OBJECT_ID(‘Orders’)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-13.jpg)
Информация об индексах
sp_helpindex ‘Orders’
SELECT indid, name, first, root, dpages, rowcnt FROM
sysindexes WHERE id=OBJECT_ID(‘Orders’)
Слайд 15
![Статистика и выбор индексов Что из себя представляет статистика dbcc](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-14.jpg)
Статистика и выбор индексов
Что из себя представляет статистика
dbcc show_statistics
Выбор индексов
Создание и
обновление статистики
Слайд 16
![Статистика DBCC SHOW_STATISTICS (N'Person', LastName)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/311990/slide-15.jpg)
Статистика
DBCC SHOW_STATISTICS (N'Person', LastName)