Для INSERT / UPDATE / УДАЛИТЬ короткий ответ: «Да». База данных должна будет проверить, что ссылочная целостность не нарушена и создание / изменение разрешено. Или, в случае DELETE, может потребоваться некоторое каскадирование.
Для SELECT на самом деле все наоборот. Внешние ключи имеют секретное дополнительное преимущество, показывая вам, где именно вы, скорее всего, будете выполнять сложные JOIN, и у них есть очень часто используемые поля. Это значительно упрощает работу по индексации, и вы можете практически гарантировать, что все ваши поля FK должны быть проиндексированы. Это делает SELECT намного быстрее.
и json_encode ()
it. $dataToAugment = json_decode($data);
// add you data here at the proper position
$data = json_encode($dataToAugment);