6. Базы данных. Оптимизация запросов. Оптимизация структуры данных | Технострим

Слайды лекции: ► Другие лекции курса: Подробнее о курсе: Лекция читается в рамках образовательного проекта “Технопарк Group“ при МГТУ им.Баумана. КРАТКОЕ СОДЕРЖАНИЕ: Лекция посвящена производительности (оптимизации работы с БД). Рассматриваются следующие темы: — Нормализация и денормализация данных; — Оптимизация запросов конкретных типов; — Разница между актуальными и историческими данными; — Секционирование; — Оптимизация на уровне приложения; — Примеры эффективного массового изменения данных. Хронометраж: 00:00:03 О теме лекции 00:00:54 Нормализация и денормализация данных (на примере тестовой БД из прошлой лекции) 00:02:43 Вопрос залу: о приоритете применения того или метода построения запроса 00:04:10 Повторение пройденного материала: о покрывающем индексе 00:04:45 Повторение пройденного материала: про подзапросы (SUBQUERIES) 00:07:47 Повторение пройденного материала: краткий итог 00:11:01 Вопрос залу: в каком случае не нужны индексы для внешних ключей (FOREIGN KEY)? 00:12:44 Продолжение рассмотрения примера из тестовой БД: Заменим ’Zombie%’ на ’Comedy%’ 00:13:12 Оптимизируйте доступ к данным (Модификация запросов) 00:17:45 Нормализация (плюсы нормализации данных) 00:18:56 Денормализация (методы денормализации данных) 00:22:04 Нормализация/денормализация: пример 00:25:18 Оптимизация запросов конкретных типов 00:25:33 Оптимизация DELETE: очистка таблицы 00:28:07 Оптимизация COUNT(*): получение кол-ва записей в таблице 00:31:28 Оптимизация COUNT(*): получение кол-ва записей после выполнения запроса 00:33:20 Оптимизация LIMIT со смещением 00:40:46 Оптимизация: случай из практики 00:44:21 Исторические и актуальные данные (Настоящее vs Прошлое) 00:46:44 Актуальные данные (особенности и проблемы) 00:49:12 Исторические данные (особенности и проблемы) 00:57:47 Вопрос из зала по пройденному материалу 00:58:17 Ответ и уточняющие вопросы 01:00:36 Исторические данные (особенности и проблемы) - продолжение 01:02:03 Цитата о “биг дата“ 01:02:49 Секционирование (англ. partitioning) 01:06:48 Секционирование: наследование 01:16:13 Секционирование: наследование (плюсы и минусы) 01:19:46 Секционирование: pg_pathman (плюсы и минусы) 01:22:11 Секционирование: PostgreSQL 10 (плюсы и минусы) 01:23:45 Оптимизация на уровне приложения (Уменьшение времени блокировок) 01:26:56 Разбиение запроса на более мелкие 01:31:09 Модификация схемы 01:39:50 Группировка UPDATE 01:45:54 Массовая вставка данных 01:53:08 Загрузка данных через COPY 01:55:11 Блокировки (Пессимистичная / Оптимистичная) 01:59:54 Ограничение времени ожидания (Долгий / Ждущий / Срочный запрос) 02:04:42 CREATE INDEX (Блокирующее / Неблокирующее создание индекса) 02:05:36 ALTER TABLE (Классический / Сокращенный вариант) О КАНАЛЕ: Официальный канал образовательных проектов Group ► Нажмите здесь для подписки ‣ Актуальные лекции и мастер-классы о программировании от лучших IT-специалистов. Если вы увлечены мобильной и веб-разработкой, присоединяйтесь! Наши проекты: Технопарк при МГТУ им. Баумана ‣ Техносфера при МГУ им. Ломоносова ‣ Технотрек при МФТИ ‣ Техноатом при МИФИ - Технополис при СПбПУ - ------------------------ МЫ В СЕТИ: Технопарк в ВК | Техносфера в ВК | Технотрек в ВК | Техноатом в ВК | Технополис в ОК: Технополис в ВК: Блог на Хабре |
Back to Top