В этом видео я начинаю разговор о том, как оптимизировать SQL запросы под MS Sql Server. Начнем с простого и базового понятия - статистики выполнения, на которую проще всего взглянуть и она очень часто сразу же говорит, что где-то скрывается серьезная проблема. Это не единственный показатель, но на мой взгляд один из основных. Помимо этого начинаем знакомится с индексами, возможные проблемы с неверными типами данных и т.д.
Я покажу, как создание индекса влияет на статистику и производительность, а так же как работает include колонок для индексов.
Текстовая версия рассматриваемого в видео материала: Оптимизация SQL запросов для MS SQL Server с помощью индексов
Я хочу поговорить о том, когда в действительности нужно создавать индекс, чтобы от него было больше пользы, чем вреда. Кажется, я уже говорил, на одной таблице может быть по 10 индексов, особенно, если на этой таблице чаще происходит в ставка, чем удаление. На таблице с сотней миллиардов записей у меня было 5 индексов, и вставка происходила вполне пристойно. Каждый день в этой таблице создавалось по миллиону записей минимум, а были дни, когда вставлялось десятки миллионов.
Сегодня мы более подробно познакомимся с инструментами, которые позволят вам найти проблемы в запросах, и как искать сами проблемные запросы.
Сегодня я продолжу рассказывать про SQL и мы погрузимся уже в чуть более интересные запросы, связи и я попробую рассказать максимально просто о связях join и о группировках, на мой взгляд две не самые простые темы.
Текстовые версии: SQL углубимся, Таблицы - Таблицы и еще таблицы, Агрегатные функции SQL, Группировка
Сегодня я продолжу рассказывать про SQL и мы погрузимся уже в чуть более интересные запросы, связи и я попробую рассказать максимально просто о связях join и о группировках, на мой взгляд две не самые простые темы.
Текстовая версия:
В этой части я начну создавать базу футбольной лиги, на которой потом можно будет потренироваться писать более сложные и интересные вопросы. Уже в этой части мы познакомимся с интересными запросами, где я буду связывать таблицу саму с собой и при этом не буду приводить никаких колонок для связи, мы познакомимся со случайными числами RAND и округлениями ROUND.
В этом видео я подробно рассматриваю вопрос связи таблиц - многие ко многим, когда несколько записей из одной таблицы могут быть связаны с несколькими записями из другой таблицы.
В этом видео мы рассмотрим транзакции, зачем они нужны и какие бывают уровни изоляции, как они работают и увидим на практике мертвые блокировки deadlock.
Базы данных могут использовать различные структуры данных для индексации, но чаще всего наверно можно увидеть B-Tree, B+Tree и Hash. Hash достаточно популярный, потому что используется не только в базе данных. Деревья распространены, но не так сильно.
В этом видео я поговорю в теории о индексах. Это не конкретная реализация какой-то базы, а общая теория.
В этом видео поговорим о создании индексов и посмотрим немного на примере MySQL сервера создать индексы и обсудить их работу.