Это видео недоступно.
Сожалеем об этом.
6. Базы данных. Оптимизация запросов. Оптимизация структуры данных
HTML-код
- Опубликовано: 17 апр 2017
- Слайды лекции: bozaro.github....
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru 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 (классический / сокращённый вариант)
Другие лекции курса: • Курс · Базы данных (ве...
VK Team - это безграничные возможности проявить себя. Мы делаем современные и быстрые интернет-сервисы, доступные каждому. На этом канале делимся опытом компании VK, рассказываем о технологиях, наших образовательных проектах и жизни команды.
😎 Сообщество ВКонтакте: vkteam
👨🎓 VK Education: education.vk.c...
🏆 Чемпионаты: cups.online/
👨💻 Карьера в VK: team.vk.company/
Блин, офигенный курс на самом деле, спасибо большое! :)
Спасибо за отзыв, нам приятно :)
Спасибо!! Очень ценно!
Понравилось. Звук хороший
в первом примере просто могли бы план запроса показать.
Какая ключевая ошибка из-за которой обновление зависло на 40 минут?
Нельзя менять уникальное поле, если его обновляет другая транзакция?
08.01.2024
А где-то можно скачать демо базу?
github.com/bozaro/tech-db-lectures/blob/master/scripts/movielens/load-pgsql.sh