Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.
Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива.
Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением.
Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?
Здравствуйте, peer, Вы писали:
P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё. P>Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива. P>Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением. P>Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?
Не надо все лепить в один запрос (уже глаз дергается от этого).
Количество запросов не должно расти линейно от обьема выбираемых данных (проблема N+1).
Количество запросов может быть пропорционально количеству выбираемых таблиц.
Здравствуйте, peer, Вы писали:
P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.
Чушь полная. Где ты такие "принципы" брал?
СУБД — центральная часть всей системы, если "вытащить за раз всё" — не увидишь обновления от других модулей.
И в целом лучше озвучивать ЗАДАЧУ, а не совать сюда своё полу-решение и решать надуманные тобой же проблемы.
Здравствуйте, peer, Вы писали:
P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё. P>Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива. P>Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением. P>Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?
Могу ошибиться, но ef core тоже делает все в один запрос при использовании
from p in db.Persons.Include(x => x.Childs) select p;
но делает он это в основном через join.
При использовании низкоуровневого доступа гибкости побольше