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

Методички / Лабораторная работа 5

.pdf
Скачиваний:
0
Добавлен:
28.06.2026
Размер:
214.98 Кб
Скачать

Лабораторная работа 5: Рефакторинг приложений с целью оптимизации запросов и индексов базы данных

Одной из ключевых задач рефакторинга приложений является оптимизация работы с базой данных. Это включает в себя улучшение производительности SQL-запросов, правильное использование индексов и оптимизацию архитектуры базы данных для ускорения обработки данных. В рамках данной лабораторной работы студенты изучат основные подходы к анализу и оптимизации SQL-запросов, а также научатся добавлять и изменять индексы для повышения производительности.

Цели лабораторной работы

1.Изучить основные принципы оптимизации SQL-запросов.

2.Научиться выявлять узкие места в работе базы данных.

3.Освоить создание, модификацию и удаление индексов для ускорения запросов.

4.Применить знания на практике для оптимизации базы данных и приложения. Задание

1.Ознакомьтесь с теоретическими аспектами как работают индексы в реляционных базах данных, влияние индексов на производительность SELECT, INSERT, UPDATE и DELETE запросов, распространенные проблемы в SQL-запросах (например, отсутствие индексов, избыточные JOIN-операции, SELECT * и т.д.), изучите инструменты мониторинга производительности базы данных (например, EXPLAIN, EXPLAIN ANALYZE для

PostgreSQL/MySQL).

2.Используйте предоставленную базу данных или проект, содержащий примеры низкоэффективных запросов. Проведите анализ производительности текущих SQLзапросов: используйте команды анализа, такие как `EXPLAIN`, чтобы понять, как запрос обрабатывается базой данных, найдите узкие места (например, полные сканирования таблиц вместо использования индексов).

3.Оптимизируйте SQL-запросы: замените неэффективные запросы (например, `SELECT *`) на более узкие выборки столбцов, уменьшите количество JOIN-операций, если это возможно, перепишите запросы для использования индексов. Сравните производительность запросов до и после оптимизации, используя инструменты анализа (например, время выполнения или EXPLAIN).

4.Добавьте индексы к таблицам для ускорения наиболее часто используемых запросов. Проверьте влияние индексов на производительность: сравните время выполнения запросов до и после добавления индексов, используйте EXPLAIN, чтобы убедиться, что индексы действительно используются. Изучите влияние индексов на операции вставки и обновления данных (INSERT, UPDATE). Удалите неиспользуемые или дублирующиеся индексы, если они замедляют операции.

6. Подготовьте отчет, включающий список проблемных запросов и их анализ (до оптимизации), измененные запросы с описанием внесенных улучшений, добавленные,

измененные или удаленные индексы (с пояснением причин), сравнительные результаты производительности до и после оптимизации.