Статьи

Секреты индексов и иностранных ключей

Индексы и внешние ключи являются отличными инструментами при работе с большими базами данных. Они могут быть ответом на хороший дизайн и отличную производительность. В этой статье я расскажу несколько советов, которые помогли мне понять, как эффективно использовать эти инструменты и упростить мою работу со сложными базами данных. 

Каждый пример изображения был сделан с DbSchema . Мне нравится этот инструмент, потому что он ориентирован на диаграмму, объединяет множество функций и имеет очень хорошую цену. 

Иностранные ключи

Распространенная ошибка — избегать создания внешних ключей в базе данных, поскольку они негативно влияют на производительность. Это правда, что внешние ключи будут влиять на операторы INSERT, UPDATE и DELETE, потому что они проверяют данные, но они улучшают общую производительность базы данных. 

Основным преимуществом внешних ключей является то, что они обеспечивают согласованность данных, а это означает, что они поддерживают базу данных в чистоте. 

В качестве примера рассмотрим две таблицы ниже. Если в двух из них отсутствуют внешние ключи, и мы удаляем отдел, то связанные с ним сотрудники останутся в таблице сотрудников как «неверные записи». Эти сценарии случаются очень часто и приводят к созданию ненужной базы данных, что снижает производительность.  

Без внешних ключей: 

Нет внешних ключей

С внешними ключами:

С внешними ключами

Индексы

Индекс для базы данных похож на оглавление для книги. Поиск данных по столбцу, который является частью индекса, позволит нам использовать индекс для быстрого доступа к записи. 

Рассмотрим таблицу сотрудников с индексом firstname. Выполнение запроса ниже будет использовать этот индекс.


SQL