ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ ИНДЕКСОВ COLUMNSTORE ПРИ ВЫПОЛНЕНИИ SQL – ЗАПРОСОВ



В MICROSOFT SQL SERVER 2016

 

Объект исследования: эффективность применения индексов columnstore при выполнении SQL-запросов в Microsoft Server 2016.

Результаты, полученные лично автором: определены объемы данных, при которых применение индексов columnstore может существенно повысить производительность приложения.

 

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

Таким образом, целью данной работы является определение случаев, когда применение columnsore-индексов наиболее эффективно.

Работа по оценке эффективности применения columnsore-индексов начиналась с составления базы данных предприятия в системе управления реляционными базами данных Microsoft SQL Server 2016. Разработанная база включала в себя следующие таблицы: Vendor— 1000 записей, type — 1000 записей, market1 — 1000 записей, market2 — 500 000 записей, market3— 3 млн. записей, market4 — 18 млн. записей. Также было составлено 4 запроса, различающихся по уровню сложности.

Каждый запрос 20 раз применялся поочередно к таблицам без использования индексов columnsore. Вычислялось среднее время выполнения каждого запроса. Аналогичным образом измерялось время выполнения каждого запроса с использованием columnsore.На заключительном этапе работы проводился анализ полученных данных и определение случаев, в которых применение columnsore существенно повышает производительность приложения.

Результаты исследования представлены на рис.1.
По оси ОХ отображается номер запроса, а по OY – время выполнения запроса в мс. Синий столбец показывает время без использования индексов. Оранжевый – с использованием columnsore.

Согласно результатам, представленным на рис.1, применение columnsore к таблице market4 на 18 млн записей увеличило время выполнения простых запросов №1 и 2. Однако время выполнения запросов №3 и 4 существенно сократилось.

 

Рис. 1. «Результаты выполнения запросов в таблице с 18 млн записями»

На основании полученных результатов можно сделать вывод, что чем больше данных в таблице, тем эффективнее использование columnstore. Однако в случае, если база данных содержит малый объем информации, использование columnstore может существенно повлиять на производительность приложения и замедлить его работу. Также удалось установить, что использование columnstore эффективно в случае сложных запросов, к примеру, содержащих операторы GROUP BY, JOIN, UNION и другие.

Материал поступил в редколлегию 24.04.2017

ВЫСШАЯ МАТЕМАТИКА

УДК 519.8

А.Л. Амбарцумян

Научный руководитель: доцент кафедры “Высшая математика” Л.А. Гусакова

Asinka1992@rambler.ru

 

АНАЛИЗ ЧУВСТВИТЕЛЬНОСТИ РЕШЕНИЯ ОПТИМИЗАЦИОННОЙ ЗАДАЧИ

 

Существует целый ряд ситуаций, когда при принятии решений используются методы линейного программирования. Существует три аспекта решения оптимизационных задач, которые следует рассмотреть при принятии решений:

1. Воздействие дополнительного количества дефицитного ресурса.

2. Воздействие дополнительного количества бездефицитного ресурса.

3. Воздействие изменений в коэффициентах целевой функции.

Рассматривается воздействие дополнительного количества дефицитного ресурса на примере следующей задачи.

Завод выпускает два типа деталей: А и В. Исходные данные приведены в таблице 1.

Таблица 1

Ресурсы

Запас ресурса в неделю

Нормы расхода ресурса на одну деталь

А В
Фонд рабочего времени 4 000 чел-ч 1 чел-ч 2 чел-ч
Металлические стержни 10 000 кг 2 кг 5 кг
Листовой металл 10 000 кг 5 кг 2 кг

Доход от продажи одной детали(у.е.)

30 40

Производственные мощности позволяют выпускать максимум 2250 деталей типа А и 1750 деталей типа В в неделю. Еженедельно завод поставляет не менее 600 деталей типа А постоянному заказчику. Существует профсоюзное соглашение, при котором еженедельно выпуск деталей не должен быть меньше 1500 штук. Требуется найти план производства, при котором еженедельный доход завода будет максимальным, и определить до какого момента будет эффективным увеличение фонда рабочего времени.

Математическая модель задачи имеет вид:

Z=30x+40y->max                                      (1)

                                                        (2)

Задача может быть решена графически. Допустимое множество решений задачи заштрихованная область на рис.1.

С

 


Рис.1

 

Точкой максимума функции Z является точка С, координаты которой определяются из системы уравнений

                                                      (3)

Решение системы (3): x=1500 y=1250

Zmax=30· 1500+40· 1250=95000 у.е.

Одним из дефицитных ресурсов в данной задаче является фонд рабочего времени. Если его увеличить на 1 чел-ч, то координаты точки максимума определятся из системы уравнений

                                                     (4)

Решение системы (4): x=1499,75 y=1250,625

Новое максимальное значение целевой функции Zmax=95017,5. Значение целевой функции увеличилось на 17,5 у.е. Это есть двойственная оценка трудового ресурса или теневая цена ресурса.

Материал поступил в редколлегию 27.04.2017

УДК 519.2

Блинникова Н.И.

Научный руководитель: доцент кафедры «Высшая математика»,

к.т.н. А.И. Горелёнков

mega.blinnikova@mail.ru

 


Дата добавления: 2018-10-27; просмотров: 201; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!