Индекс для внешнего ключа таблицы БД.md
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Struchkov Mark 2024-10-11 01:06:58 +03:00
parent caffba83ec
commit 2beb7b3121
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
7 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,29 @@
---
aliases:
tags:
- maturity/🌱
date: 2024-10-11
zero-link:
parents:
linked:
---
При создании внешнего ключа в базе данных важно не забывать добавлять индекс на связанный столбец.
Внешний ключ обеспечивает связь между двумя таблицами, гарантируя, что значения в одном столбце соответствуют значениям в другой таблице. ==При выполнении операций, таких как SELECT, UPDATE или DELETE, СУБД должна проверить целостность данных. Без индекса проверка становится затратной по времени, так как приходится сканировать всю таблицу для поиска нужных записей==. Индекс решает эту проблему, значительно ускоряя поиск и проверку данных.
Рассмотрим пример, где мы удаляем строку из таблицы. Поиск записи в таблице происходит быстро, так как удаление выполняется по первичному ключу. Однако, у нас есть связь с другой таблицей, и ==самый долгий этап это проверка связей с этой таблицей.==
![600](../../meta/files/images/Pasted%20image%2020240331093028.png)
***
## Мета информация
**Область**:: [[../../meta/zero/00 Базы Данных|00 Базы Данных]]
**Родитель**:: [[Производительность SQL запросов]]
**Источник**::
**Создана**:: [[2024-10-11]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -0,0 +1 @@
09a6867bb2094104974ed09fdfc0c447

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1 @@
09a6867bb2094104974ed09fdfc0c447

View File

@ -13,6 +13,9 @@ linked:
- [Репликация БД](../../dev/architecture/highload/Репликация%20БД.md)
- [Резервные копии БД](Резервные%20копии%20БД.md)
- [Транзакция БД](Транзакция%20БД.md)
- [[../../../../_inbox/Индекс в БД|Индекс в БД]]
- [[../../../../_inbox/Индекс в PostgreSQL|Индекс в PostgreSQL]]
- [[../../../../_inbox/Индексы в MySQL|Индексы в MySQL]]
СуБД:
- [PostgreSQL](00%20PostgreSQL.md)