Сентябрь 20, 2015
Как работает индексация в базах данных?
612 28
23,329 просмотров
Слайды лекции: https://bozaro.github.io/tech-db-lectures/05/
► Другие лекции курса: https://www.youtube.com/playlist?list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj
Подробнее о курсе: https://park.mail.ru/curriculum/program/discipline/218/
Лекция читается в рамках образовательного проекта "Технопарк Mail.ru Group" при МГТУ им.Баумана.
КРАТКОЕ СОДЕРЖАНИЕ:
Лекция посвящена индексам и производительности.
А так же: протоколированию запросов, плану запросов EXPLAIN, стратегиям запросов и JOINS.
Хронометраж:
00:00:04 О теме лекции
00:00:47 Индексирование. Введение в индексы БД
00:01:55 Варианты индексов. btree — сбалансированное дерево
00:03:56 Индексирование btree (особенности)
00:06:27 hash-индексы
00:08:29 Индексирование hash (особенности). Коллизии hash-индексов
00:11:12 Некоторые типы данных с которыми ни btree, ни hash не работают
00:12:17 Индексирование GiST (R-Tree)
00:13:36 Индексирование GIN (инвертированный)
00:14:39 Индексирование: битовый индекс
00:17:20 Частичный индекс
00:20:35 Функциональный индекс
00:22:19 Кластерный индекс
00:25:45 Покрывающий индекс
00:28:35 Индексирование. "Расплата"
00:30:34 Как создается индекс?
00:32:59 Индексирование. Итог ("подытоживание")
00:35:25 Вопрос из зала по hash-индексам
00:38:07 Большой выигрыш при использовании покрывающих индексов
00:38:44 Ответы на вопросы по индексированию
00:48:30 Тестовая БД для рассмотрения работы индексов
00:54:08 Как выполняется простой запрос? (Тестовая БД)
00:59:44 Как выполняется запрос? (Два условия и два индекса)
01:07:00 Как выполняется запрос? (Сортировка и индексы)
01:09:59 JOIN-стратегии
01:17:10 Профилирование
01:19:16 Несколько вариантов поиска запросов, которые создают основную нагрузку на сервер
01:19:23 Вариант 1 — Статистика запросов
01:22:44 Вариант 2 — Протоколирование запросов
01:25:50 Логирование в CSV
01:27:15 Протоколирование запросов (нюансы)
01:28:41 На что важно обратить внимание при чтении отчетов
01:32:03 EXPLAIN
01:36:08 Параметр ANALYZE (важная ремарка)
01:36:37 EXPLAIN: Некоторые особенности работы
01:37:57 EXPLAIN: Начало
01:39:09 Что такое стоимость? О единицах времени
01:40:37 EXPLAIN: Статистика
01:42:20 EXPLAIN: ANALYZE
01:45:17 EXPLAIN: WHERE
01:48:46 EXPLAIN: TEXT
01:56:52 EXPLAIN: ORDER BY
02:00:40 EXPLAIN: JOIN
02:05:34 EXPLAIN: На что обратить внимание?
02:07:20 EXPLAIN: Разбор примера из тестовой БД
02:08:06 EXPLAIN: Графическое представление
02:09:32 EXPLAIN: Текстовое представление
02:10:31 EXPLAIN: Добавляем индексы
02:21:03 Чем плохи подзапросы?
02:29:02 По поводу производительности
02:36:45 Покрывающий индекс (Продолжение разбора примера из тестовой БД)
————————————
О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
► Нажмите здесь для подписки ‣ http://www.youtube.com/TPMGTU?sub_confirmation=1
Актуальные лекции и мастер-классы о программировании от лучших IT-специалистов. Если вы увлечены мобильной и веб-разработкой, присоединяйтесь!
Наши проекты:
Технопарк при МГТУ им. Баумана ‣ https://park.mail.ru
Техносфера при МГУ им. Ломоносова ‣ https://sphere.mail.ru
Технотрек при МФТИ ‣ https://track.mail.ru
Техноатом при МИФИ — https://atom.mail.ru
Технополис при СПбПУ — https://polis.mail.ru
————————————
МЫ В СЕТИ:
Технопарк в ВК | http://vk.com/tpmailru
Техносфера в ВК | https://vk.com/tsmailru
Технотрек в ВК | https://vk.com/trackmailru
Техноатом в ВК | https://vk.com/technoatom
Технополис в ОК: https://www.ok.ru/technopolis
Технополис в ВК: https://vk.com/technopolis_ok
Блог на Хабре | http://habrahabr.ru/company/mailru
290 12
Многие слышали про индексы в базах данных, но обсуждение по поводу когда стоит создавать эти индексы встречается в просторах интернета не так уж и часто.
Этот урок как раз об этом.
643 17
Для записи данных в реляционную базу данных они должны пройти процесс называемый нормализацией. В этом видео я на примере описываю то, как можно нормализовать таблицу взятую из какого-либо документа.
2100 22
Начиная разбираться в SQL многие сталкиваются с проблемой сложности понимания различия между разными JOIN-ами в этом языке.
В этом видео уроке я объясняю: 1) Что такое JOIN. 2) Различие между CROSS JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, и FULL JOIN. Также показываю как реализовать FULL JOIN в базах данных, которые не предоставляют такую конструкцию.
3207 20
B‐дерево (произносится «би дерево») — это вид деревьев, который гарантирует полную балансировку. Не стоит путать его с бинарными деревьями, так как он с ними не имеет ничего общего.
В этом видео уроке я обсуждаю, что такое B‐дерево и как работает алгоритм добавления данных в него. Как пример я обсуждаю дерево с M=4, также известное как дерево 2‐3‐4.
1038 9
Если сказать просто, то кардинальность — это информация о связи между таблиц базы данных, которая описывает сколько рядов в одной таблице соответсвуют рядам в другой.
В этом уроке я описываю связь и реализацию связи один-к-одному и один-к-многому.
403 7
Если вы не сталкивались с понятиями «первичный ключ», «вторичный ключ», «внешний ключ», и «сложный ключ», то вам просто необходимо посмотреть этот видео урок.
1206 12
Clustered and nonclustered indexes share many of the same internal structures, but they're fundamentally different in nature. Watch Microsoft Certified IT Professional Jon Seigel explain the similarities and differences of clustered and nonclustered indexes, using a real-world example to show how these structures work to improve the performance of SQL queries.
Blog post on primary key vs. the clustered index:
http://voluntarydba.com/post/2012/10/02/The-Primary-Key-vs-The-Clustered-Index.aspx
CREATE INDEX statement reference:
http://technet.microsoft.com/en-us/library/ms188783.aspx
ALTER INDEX statement reference:
http://technet.microsoft.com/en-us/library/ms188388.aspx
Index navigation internals by example:
http://sqlblog.com/blogs/paul_white/archive/2011/08/09/sql-server-seeks-and-binary-search.aspx
Sample index data is from the AdventureWorksLT2008R2 sample database:
http://awlt2008dbscript.codeplex.com/releases/view/46169
Visit my channel for more database administration videos:
https://www.youtube.com/voluntarydba
Subscribe to get notified about my latest videos:
https://www.youtube.com/voluntarydba?sub_confirmation=1
Read additional content on my blog:
http://voluntarydba.com
Follow on Twitter:
https://twitter.com/voluntarydba
Like on Facebook:
https://facebook.com/voluntarydba
6618 84
Промокод на скидку 15% на все курсы ITVDN- H94BCAB
Полные видео курса- https://itvdn.com/ru/video/ssms_tsql?utm_source=yb_promo_ssms
Профессиональная работа с индексами — залог достижения высокой производительности SQL Server. В этом уроке мы рассмотрим основные типы индексов и особенности использования их, а также научимся их создавать.
Благодарим всех за лайки, перепосты, добавление в избранное!
http://itvdn.com – видеопортал по обучению программированию
А также подписывайтесь на нас в социальных сетях:
https://vk.com/itvdn
https://www.facebook.com/ITVDN.EDU
https://twitter.com/ITVDN/
https://www.linkedin.com/company/itvdn
https://plus.google.com/u/0/ ItvdnEDU...
Свои предложения присылайте на почту: [email protected]
27 29