Задать вопрос
nepster-web
@nepster-web

Можно ли доверять внешним ключам MySql?

У нас есть 4 типа forbidden ключей в mysql:


- SET NULL
- CASCADE
- NO ACTION
- RESTRICT


Давайте предположим, что есть статья в первой таблице и во второй таблице например какие-то записи статистики просмотров, ну и таблицы связаны по ключу с типом CASCADE на удаление и редактирование.

Теперь предположим, что 1 статью просмотрели миллион раз и у нас во второй таблице есть миллион записей для этой статьи.

И теперь есть задача удалить эту статью. По сколько у нас ключ CASCADE, весь этот миллион записей так-же должен удалиться.

А действительно MySql знает свое дело и прямо сразу все удалит ? А если таблиц несколько ? Тоесть к статье принадлежат если лайки, комментарии, рейтинг и тп.

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

Как вообще это отработает ? или лучше не доверять и прогнать удаление циклом самостоятельно ?
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
xRocket Москва
от 3 000 до 4 000 $
div. Ставрополь
от 50 000 до 120 000 ₽
Lachestry Таганрог
от 170 000 до 200 000 ₽
11 дек. 2024, в 12:25
60000 руб./за проект
11 дек. 2024, в 12:21
2000 руб./в час
11 дек. 2024, в 12:02
5000 руб./за проект