Есть ли практические ограничения для Eloquent ORM при активной загрузке?

В разделе «Активная загрузка», https://laravel.com/docs/5.6/eloquent-relationships#eager-loading, руководство по Laravel объясняет, что он выполняет запрос WHERE... IN....

Есть ли практическое ограничение на количество аргументов для пункта IN? Например, если у меня в предложении 100 значений, следует ли мне начать рассматривать различные варианты, такие как объединения таблиц?

Предположительно, в большинстве случаев производительность станет ограничивающим фактором, прежде чем я достигну жестких ограничений моей СУБД.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не думаю, что производительность будет проблемой, если у вас не будет более 10К строк. Вы почти всегда запрашиваете первичный ключ таблицы (id), который должен иметь индекс и тем самым обеспечивать быстрый доступ.

Однако жесткие ограничения на количество параметров могут стать проблемой. SQL Server допускает только 2100 параметров, SQLite только 999. Эти ограничения можно обойти с помощью этот пакет (самопродвижение).

В случаях, когда запрос WHERE IN становится слишком медленным, JOIN тоже не будет быстрее. Если вы попытаетесь получить более 10 тыс. Строк, создание объектов модели также займет значительное время.

Другие вопросы по теме