и "многие ко многим" в Laravel? Следует ли использовать конвенции Laravel или прописывать поле foreign key в миграции и более развернуто описывать методы в моделях?
И то и другое.
Отношения указываются с целью построения запросов внутри приложения, а foreign ключи нужны базе для сохранения цепочек данных в случае изменения и/или удаления
О разных вещах говоришь. foreign тебе дает привязки, что позволяет оптимизировать запросы. А в модели ты уже описываешь взаимодействие на стороне бэк
Как они оптимизируют запросы? Они обеспечивают целостность данных
Ииии...? Подскажу, индексы.
Я про то говорю, что мы можем и не указывать foreign, и привязка все равно будет
Иии? Внешний ключ не является индексом =)
Будет. Но как она будет работать при 100 записях и при миллионе.
При добавлении, обновлении - чуть медленее, при селекте - без разницы
Лучше не придерживаться конвенции Laravel и явно указать привязку в файле миграции?
Лучше придерживаться конвенции проекта, на котором ты работаешь. У нас, например, запрещены внешние ключи
Хорошо, спасибо ☺️
А для чего запрещать их?
Чтобы плодить записи)
Шардированные базы, 3 дата-центра, на уровне приложения должны обеспечивать целостность
https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK
Да полностью противоположно
Как оно оптимизирует запросы? Лишь ограничивает операции INSERT/UPDATE/DELETE
INSERT/UPDATE/DELETE будет работать медленее, на SELECT это никак не скажется
Дядя, ты на приколе? Что ты мне скинул? Я об одном, ты о другом. Там сказано что не создаются автоматически. И их нужно явно указать. Значит что? Когда в миграциях указываешь foreign конкретным методом, то создается индекс, явно создается вручную.
foreign - это ОГРАНИЧЕНИЕ
Обсуждают сегодня