Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
Как решаются такие проблемы: нужно отсортировать список но не просто по полям в базе а по вычисляемым полям. например в яндекс маркете отсортировать по параметру цена, но при этом на часть цен могут действовать какието скидки, акции и тд. Можно конечно при акции перерасчитывать цену и писать, но с другой стороны скидка может быть для конкретного клиента, не будешь же для каждого клиента хранить его цену.
20 мар 18, 13:46    [21271285]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
Дядя Коля,
Сущность с вычисляемым полем которое не хранится в базе.
Всё как обычно.
20 мар 18, 14:14    [21271398]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Дядя Коля
Как решаются такие проблемы: нужно отсортировать список но не просто по полям в базе а по вычисляемым полям.

Да по разному решаются. От объёма зависит.

В памяти, через временные таблицы, через предварительную агрегацию с хранением где-нибудь в NoSQL.
20 мар 18, 15:12    [21271768]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
hVostt
Member

Откуда:
Сообщений: 14981
Дядя Коля
Как решаются такие проблемы: нужно отсортировать список но не просто по полям в базе а по вычисляемым полям. например в яндекс маркете отсортировать по параметру цена, но при этом на часть цен могут действовать какието скидки, акции и тд. Можно конечно при акции перерасчитывать цену и писать, но с другой стороны скидка может быть для конкретного клиента, не будешь же для каждого клиента хранить его цену.


А где тут проблема? ))
20 мар 18, 15:23    [21271840]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
hVostt
Дядя Коля
Как решаются такие проблемы: нужно отсортировать список но не просто по полям в базе а по вычисляемым полям. например в яндекс маркете отсортировать по параметру цена, но при этом на часть цен могут действовать какието скидки, акции и тд. Можно конечно при акции перерасчитывать цену и писать, но с другой стороны скидка может быть для конкретного клиента, не будешь же для каждого клиента хранить его цену.


А где тут проблема? ))

нужно отобразить 10 записей а для этого пересчитать например миллион записей
20 мар 18, 15:32    [21271872]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19553
Ну так ты миллион записей клиенту и не показываешь. Сортируй только то показывается. Закешировать пересчет под клиента тоже вполне можно, пока его сессия не закончилась
20 мар 18, 15:50    [21271944]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
Дядя Коля
нужно отобразить 10 записей а для этого пересчитать например миллион записей
лучше ещё конкретнее.
Т.к. ef иногда не может серверную сортировку. Тогда
Where....ToList().Where.OrderBy уже на клиенте.
20 мар 18, 15:57    [21271983]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
hVostt
Member

Откуда:
Сообщений: 14981
Дядя Коля
нужно отобразить 10 записей а для этого пересчитать например миллион записей


Так и в чём проблема? СУБД умеет считать по миллионам записей. Можете более конкретно выразиться, где именно затык?
20 мар 18, 18:44    [21272507]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
hVostt
Дядя Коля
нужно отобразить 10 записей а для этого пересчитать например миллион записей


Так и в чём проблема? СУБД умеет считать по миллионам записей. Можете более конкретно выразиться, где именно затык?

проблема что нужно показать всего 10 а пересчитать миллион - слишком дорогая операция. Думал может както оптимизируют а не тупо рассчитывают.
20 мар 18, 18:49    [21272516]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
Дядя Коля,
Ты сам понял, что это не ответ и не конкретика.
У меня из 10 таблиц только в одной пагинация.
Это значит если те 9 вдруг разрастутся до 100к, то формы встанут колом.
Нет универсального кода!
Везде надо думать.
20 мар 18, 19:08    [21272567]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
hVostt
Member

Откуда:
Сообщений: 14981
Дядя Коля
проблема что нужно показать всего 10 а пересчитать миллион - слишком дорогая операция. Думал может както оптимизируют а не тупо рассчитывают.


вариантов чуть меньше, чем дохрена :)
какое конкретно подойдёт именно вам, зависит от ваших условий, технологий (СУБД, сервера, среда), от структуры, от требований, как часто приходят изменения, как часто надо делать запросы, и какие, какая динамика изменения логики и т.д. и т.п.
20 мар 18, 19:09    [21272572]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Дядя Коля
hVostt
пропущено...


Так и в чём проблема? СУБД умеет считать по миллионам записей. Можете более конкретно выразиться, где именно затык?

проблема что нужно показать всего 10 а пересчитать миллион - слишком дорогая операция. Думал может както оптимизируют а не тупо рассчитывают.

Это Вы думаете, что пересчитать какой-то всего один миллион - это слишком дорогая операция :)

Например ищете вы где отдохнуть летом, указываете страну, даты и т.д., и быстренько получаете подходящие варианты.

Комбинаций где отдохнуть при этом далеко не один миллион.
20 мар 18, 19:51    [21272646]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
skyANA,
Он наверно как раз в ИС твоего профиля гадает - качать на клиента для поиска и критерии в базу отправить.
20 мар 18, 20:01    [21272662]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
Не "и" а ИЛИ критерии в базу отправить.
20 мар 18, 20:02    [21272668]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Petro123
skyANA,
Он наверно как раз в ИС твоего профиля гадает - качать на клиента для поиска и критерии в базу отправить.
Что такое ИС моего профиля?
21 мар 18, 10:04    [21273346]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35741
skyANA,

Информационные системы туристического бизнеса. Если не ошибся.
Или спорт....клубы ....
21 мар 18, 10:50    [21273533]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Petro123,

софт для туристического бизнеса давно не пишу
21 мар 18, 12:35    [21273965]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
skyANA
Дядя Коля
пропущено...

проблема что нужно показать всего 10 а пересчитать миллион - слишком дорогая операция. Думал может както оптимизируют а не тупо рассчитывают.

Это Вы думаете, что пересчитать какой-то всего один миллион - это слишком дорогая операция :)

Например ищете вы где отдохнуть летом, указываете страну, даты и т.д., и быстренько получаете подходящие варианты.

Комбинаций где отдохнуть при этом далеко не один миллион.

комбинации - это наверно всего лишь подмножество отелей выбранных стран и все.
21 мар 18, 13:06    [21274155]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Дядя Коля
skyANA
пропущено...

Это Вы думаете, что пересчитать какой-то всего один миллион - это слишком дорогая операция :)

Например ищете вы где отдохнуть летом, указываете страну, даты и т.д., и быстренько получаете подходящие варианты.

Комбинаций где отдохнуть при этом далеко не один миллион.

комбинации - это наверно всего лишь подмножество отелей выбранных стран и все.
Нет.

Одноместный, двухместный, трёхместный номер, апартаменты, бунгало, коттедж... Стандартный, люкс, с видом на море... С питанием, без питания...
21 мар 18, 13:11    [21274185]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Плюс это может быть не только проживание, но и пакет из визы, страховки, перелёта, трансфера, проживания, аренды авто, личного гида...
21 мар 18, 13:13    [21274193]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
То есть:
hVostt
вариантов чуть меньше, чем дохрена :)
какое конкретно подойдёт именно вам, зависит от ваших условий, технологий (СУБД, сервера, среда), от структуры, от требований, как часто приходят изменения, как часто надо делать запросы, и какие, какая динамика изменения логики и т.д. и т.п.
21 мар 18, 13:14    [21274201]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
skyANA
Дядя Коля
пропущено...

комбинации - это наверно всего лишь подмножество отелей выбранных стран и все.
Нет.

Одноместный, двухместный, трёхместный номер, апартаменты, бунгало, коттедж... Стандартный, люкс, с видом на море... С питанием, без питания...

то что номер трехместный - это не рассчитываемый параметр а статичный, как и например вид на море, врядли в отеле по понедельникам вид на море есть а по вторникам нет.
21 мар 18, 13:16    [21274215]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Дядя Коля
skyANA
пропущено...
Нет.

Одноместный, двухместный, трёхместный номер, апартаменты, бунгало, коттедж... Стандартный, люкс, с видом на море... С питанием, без питания...

то что номер трехместный - это не рассчитываемый параметр а статичный, как и например вид на море, врядли в отеле по понедельникам вид на море есть а по вторникам нет.

Трёхместный номер люкс с видом на море имеет одну цену, а одноместный стандартный с видом на парковку другую.
Что тут не понятного?
21 мар 18, 13:22    [21274244]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
А при поиске запрос идёт не только в базу, но и к сервисам партнёров и к глобальным системам бронирования.
21 мар 18, 13:24    [21274253]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка списка по вычисляемым полям (оптимизация)  [new]
Дядя Коля
Member

Откуда:
Сообщений: 132
skyANA
А при поиске запрос идёт не только в базу, но и к сервисам партнёров и к глобальным системам бронирования.

то есть если у вас есть 10 сервисов партнеров а на странице надо вывести первые 10 вариантов то обращение все равно будет идти ко всем десяти?
21 мар 18, 14:25    [21274540]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить