diff --git a/dev/database/Индекс для внешнего ключа таблицы БД.md b/dev/database/Индекс для внешнего ключа таблицы БД.md index 62024761..90296f00 100644 --- a/dev/database/Индекс для внешнего ключа таблицы БД.md +++ b/dev/database/Индекс для внешнего ключа таблицы БД.md @@ -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 Базы Данных]] diff --git a/meta/files/images/Pasted image 20240331093524.png b/meta/files/images/Pasted image 20240331093524.png new file mode 100644 index 00000000..af681529 Binary files /dev/null and b/meta/files/images/Pasted image 20240331093524.png differ diff --git a/meta/files/images/comp/Pasted image 20240331093524.png b/meta/files/images/comp/Pasted image 20240331093524.png new file mode 100644 index 00000000..41ff89a3 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20240331093524.png differ diff --git a/meta/files/images/comp/Pasted image 20240331093524.png.md5 b/meta/files/images/comp/Pasted image 20240331093524.png.md5 new file mode 100644 index 00000000..9b99e766 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20240331093524.png.md5 @@ -0,0 +1 @@ +0a00c4d14a3b8e1a2463671e285411ff diff --git a/meta/files/images/webp/Pasted image 20240331093524.webp b/meta/files/images/webp/Pasted image 20240331093524.webp new file mode 100644 index 00000000..65ea2f55 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20240331093524.webp differ diff --git a/meta/files/images/webp/Pasted image 20240331093524.webp.md5 b/meta/files/images/webp/Pasted image 20240331093524.webp.md5 new file mode 100644 index 00000000..9b99e766 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20240331093524.webp.md5 @@ -0,0 +1 @@ +0a00c4d14a3b8e1a2463671e285411ff