nepster-web
@nepster-web

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

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


- SET NULL
- CASCADE
- NO ACTION
- RESTRICT


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

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

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

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

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

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

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

Похожие вопросы