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

This commit is contained in:
Struchkov Mark 2024-10-11 01:13:42 +03:00
parent 2beb7b3121
commit deea8586ba
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
6 changed files with 11 additions and 1 deletions

View File

@ -11,9 +11,17 @@ linked:
Внешний ключ обеспечивает связь между двумя таблицами, гарантируя, что значения в одном столбце соответствуют значениям в другой таблице. ==При выполнении операций, таких как SELECT, UPDATE или DELETE, СУБД должна проверить целостность данных. Без индекса проверка становится затратной по времени, так как приходится сканировать всю таблицу для поиска нужных записей==. Индекс решает эту проблему, значительно ускоряя поиск и проверку данных.
Рассмотрим пример, где мы удаляем строку из таблицы. Поиск записи в таблице происходит быстро, так как удаление выполняется по первичному ключу. Однако, у нас есть связь с другой таблицей, и ==самый долгий этап это проверка связей с этой таблицей.==
Рассмотрим пример, где мы удаляем строку из таблицы, у которой есть связь с другой таблицей.
![600](../../meta/files/images/Pasted%20image%2020240331093028.png)
Поиск записи в таблице происходит быстро, так как удаление выполняется по первичному ключу. Однако, у нас есть связь с другой таблицей, и ==самый долгий этап это проверка связей с этой таблицей.==
Добавим индекс на внешний ключ и проведем повторный эксперимент.
![600](../../meta/files/images/Pasted%20image%2020240331093524.png)
Мы получили ускорение в 2055 раз!
***
## Мета информация
**Область**:: [[../../meta/zero/00 Базы Данных|00 Базы Данных]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

View File

@ -0,0 +1 @@
0a00c4d14a3b8e1a2463671e285411ff

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1 @@
0a00c4d14a3b8e1a2463671e285411ff