Введение Транзакции (статья 408) достигают изоляции друг от друга во многом через блокировки — в статье разберём механизм блокировок строк/таблиц, и взаимоблокировку (deadlock) — ситуацию, когда две или…
Введение Триггер — функция, автоматически выполняемая СУБД при определённом событии модификации данных (INSERT/UPDATE/DELETE) для конкретной таблицы — статья 403 уже использовала триггер для поддержания денормализованного значения; в этой…
Введение Хранимая процедура/функция — блок процедурной логики, сохранённый и выполняемый непосредственно внутри СУБД, а не в коде клиентского приложения — статья 410 уже использовала функции для реализации триггеров;…
Введение Большинство SQL-операций (статьи 394-401) работают с результатом запроса целиком, как с набором — курсор даёт альтернативный, построчный способ обработки результата непосредственно на стороне СУБД (внутри хранимой процедуры/функции),…
Введение Без индекса поиск конкретной строки требует просмотра всей таблицы целиком (full table scan) — индекс даёт СУБД упорядоченную структуру данных, позволяющую находить нужные строки значительно быстрее, аналогично…
Введение Индекс может охватывать не один, а несколько столбцов одновременно (составной, или многостолбцовый индекс) — в статье разберём, как порядок столбцов в таком индексе критично влияет на то,…
Введение Обычный индекс ускоряет поиск нужных строк, но после нахождения строки СУБД обычно всё равно обращается к самой таблице за дополнительными данными, не входящими в индекс (так называемый…
Введение Многие подводные камни предыдущих статей блока ссылались на «проверку через EXPLAIN» — в этой статье разберём этот инструмент детально: как СУБД показывает свой план выполнения конкретного запроса,…
Введение Решения планировщика запросов о том, использовать индекс или полный просмотр, какой порядок JOIN выбрать, опираются на статистику — приблизительные сведения о распределении значений в столбцах таблицы, собранные…
Введение B-tree (статья 413) — наиболее универсальный тип индекса, но не единственный и не всегда оптимальный — в статье разберём специализированные типы индексов, эффективные для задач, для которых…
Нравится qthelper.ru? 💚
Сайт живёт без пейволов и обязательной подписки. Если статьи помогают вам в работе — поддержите проект.