Исследование эффективности применения индексов ColumnStore при выполнении SQL-запросов в Microsoft SQL Server 2016

Содержание

Слайд 2

Проблема исследования

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

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

Слайд 3

Проблема исследования

Проблема исследования

Слайд 4

Индексы COLUMN-STORE

Отличительная особенность колоночных индексов в том, что они основаны на колоночном

Индексы COLUMN-STORE Отличительная особенность колоночных индексов в том, что они основаны на
хранении данных.

Рис. 1 Отличие column-store от row-store

Слайд 5

Индексы COLUMN-STORE

Рис. 2 Отличие column-store от row-store

Некластеризованный индекс columnstore и кластеризованный индекс

Индексы COLUMN-STORE Рис. 2 Отличие column-store от row-store Некластеризованный индекс columnstore и
columnstore — это одно и то же.
Разница в том, что некластеризованный индекс вторичен и создается на основе таблицы индексов rowstore, а кластеризованный индекс columnstore является первичным для всей страницы.

Слайд 6

Структура базы данных

Рис. 4 Диаграмма базы данных

База наполнена тестовыми данными:
Vendor— 1000

Структура базы данных Рис. 4 Диаграмма базы данных База наполнена тестовыми данными:
записей
Type — 1000 записей
Market1 — 1000 записей
Market2 — 500 000 записей.
Market3— 3 млн. записей.
Market4 — 18 млн. записей

Слайд 7

Запросы к таблицам

Для того чтобы оценить эффективность использования некластеризованных индексов column-store, мной

Запросы к таблицам Для того чтобы оценить эффективность использования некластеризованных индексов column-store,
было составлено несколько запросов различной структуры. Пример одного из них приведен на рис.5.

Рис. 5 Пример запроса

Слайд 8

Запросы к таблицам

Рис. 6 Запросы

Запросы к таблицам Рис. 6 Запросы

Слайд 9

Результаты исследований

Рис. 7 Результаты для таблицы с 1000 записями

По оси ОХ

Результаты исследований Рис. 7 Результаты для таблицы с 1000 записями По оси
отображается номер запроса, а по OY – время выполнения запроса в мс. Красный столбец показывает время без использования индексов. Розовым – с использованием Column-Store.

Рис. 8 Результаты для таблицы с 500 000 записями

Слайд 10

Рис.9Результаты для таблицы с 3 млн. записями

По оси ОХ отображается номер

Рис.9Результаты для таблицы с 3 млн. записями По оси ОХ отображается номер
запроса, а по OY – время выполнения запроса в мс. Красный столбец показывает время без использования индексов. Розовым – с использованием Column-Store.

Рис. 10 Результаты для таблицы с 18 млн.записями

Результаты исследований

Слайд 11

По оси ОХ отображается номер запроса, а по OY – время выполнения

По оси ОХ отображается номер запроса, а по OY – время выполнения
запроса в мс. Красный столбец показывает время без использования индексов. Розовым – с использованием Column-Store.

Рис. 11 Результаты для таблицы с 18 млн.записями

Рис. 12 Результаты для таблицы с 1000 записями

Слайд 12

Проанализировав полученные результаты можно сделать вывод, что:
• Column-Store лучше работают с таблицами, содержащими

Проанализировав полученные результаты можно сделать вывод, что: • Column-Store лучше работают с
большое количество строк;
• Column-Store повышает производительность в 10 раз;
• Column-Store позволяет добиться высокого уровня сжатия данных;
• Не следует использовать Column-Store при малых объемах данных и простых запросах
• Column-Store следует использовать при тяжелых запросах.
Имя файла: Исследование-эффективности-применения-индексов-ColumnStore-при-выполнении-SQL-запросов-в-Microsoft-SQL-Server-2016.pptx
Количество просмотров: 17
Количество скачиваний: 0