Кол-во запросов в базу
От: peer  
Дата: 17.04.22 18:31
Оценка:
Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.
Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива.
Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением.
Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?
Re: Кол-во запросов в базу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.04.22 19:12
Оценка: -1
Здравствуйте, peer, Вы писали:

P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.

P>Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива.
P>Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением.
P>Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?

Что мешает одним запросом в ef сделать?
Re: Кол-во запросов в базу
От: B7_Ruslan  
Дата: 17.04.22 19:30
Оценка: 4 (1) +1
Не надо все лепить в один запрос (уже глаз дергается от этого).
Количество запросов не должно расти линейно от обьема выбираемых данных (проблема N+1).
Количество запросов может быть пропорционально количеству выбираемых таблиц.
Отредактировано 17.04.2022 19:34 B7_Ruslan . Предыдущая версия .
Re[2]: Кол-во запросов в базу
От: vaa  
Дата: 18.04.22 01:34
Оценка:
Здравствуйте, B7_Ruslan, Вы писали:

B_R>Не надо все лепить в один запрос (уже глаз дергается от этого).


Чем плох такой запрос?
select * from persons where id = 1;
select * from childs where person_id =1;


сложную сущность если извлекать из базы может очень сильно помочь в оптимизации.
это же стандартная возможность ado.net.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Кол-во запросов в базу
От: Kolesiki  
Дата: 18.04.22 01:36
Оценка: -1
Здравствуйте, peer, Вы писали:

P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.


Чушь полная. Где ты такие "принципы" брал?
СУБД — центральная часть всей системы, если "вытащить за раз всё" — не увидишь обновления от других модулей.
И в целом лучше озвучивать ЗАДАЧУ, а не совать сюда своё полу-решение и решать надуманные тобой же проблемы.
Re: Кол-во запросов в базу
От: vaa  
Дата: 18.04.22 01:39
Оценка:
Здравствуйте, peer, Вы писали:

P>Не мерил сейчас, но помню раньше был принцип что в базу надо лазить как можно меньше раз. Лучше вытащить за один раз всё.

P>Сейчас вот надо получить 5 сущностей из базы. 3 объяекта и 2 массива.
P>Хочу один скл скрипт и в даппер это запихнуть чтобы вытащить одним подключением.
P>Но вопрос для понимания насколько энтити хорош в скорости если открыть один раз соединение на сессии и сделать 5 запросов по отдельности это будет +- как через даппер одним запросом или лучше не мерить даже?

Могу ошибиться, но ef core тоже делает все в один запрос при использовании
from p in db.Persons.Include(x => x.Childs) select p;

но делает он это в основном через join.
При использовании низкоуровневого доступа гибкости побольше
Автор: vaa
Дата: 18.04.22
.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Кол-во запросов в базу
От: Kolesiki  
Дата: 18.04.22 01:58
Оценка: +1 :))
Здравствуйте, vaa, Вы писали:

vaa>Чем плох такой запрос?

vaa>select * from childs where person_id =1;

Тем, что англичане тебя за него изобьют? CHILDREN, батенька!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.