Dr. Friedrich
Dr. Friedrich
Подумой! Возможно, ты что-то делаешь не так!
Dr. Friedrich
Вот вам история от человека, который точно что-то делает не так ↓
Dr. Friedrich
https://workplace.stackexchange.com/questions/131948/did-i-make-a-mistake-by-ccing-email-to-boss-to-others
> My personal life is chaotic as my teenage son has autism/ADHD, I have depression, my teenage daughter has anxiety/depression and my wife has unspecified/undiagnosed mental health issues. She has mentioned feeling suicidal to me several times and gets no real help. The environment at home is physically and mentally chaotic, with frequent crises and lots of extreme stress.
Dr. Friedrich
И теперь мои проблемы мне не кажутся такими уж значительными…
Dr. Friedrich
> мы тащим 100 Dealer'ов, и нам нужно сделать 100 запросов DealerId
Почему?
Nikolay
Хотя тут точно не уверен, может и DataLoader оптимизирует это и сделает один Fetch
Dr. Friedrich
Разве нельзя сделать запрос с тем же in?
Dr. Friedrich
Передайте что я протев такой фигни
Dr. Friedrich
Nikolay
Dr. Friedrich
Ну, если тебе нужно такую инфу загрузить, я не вижу более хорошего способа с точки зрения SQL.
Dr. Friedrich
Это уже клиент должен соображать
Nikolay
В оракле, например, больше 1000 по дефолту нельзя
Dr. Friedrich
Смешно
Dr. Friedrich
Но таки да, есть такое
Dr. Friedrich
Nikolay
Ну вот не точно)
Dr. Friedrich
2. Это точно проблема? Обычно отчёты генерируются не очень часто, и мб даже со специальной ридонли отчётной реплики
Nikolay
Ну этот вариант вообще применим, если GraphQL DataLoader работает так, как я думаю
Dr. Friedrich
Я не понел, при чём тут какой-то GraphQL DataLoader.
Dr. Friedrich
У тебя есть запрос, и тебе нужно по нему вернуть данные
Dr. Friedrich
Дальше уже не твоя забота. Если клиент запросил слишком овердофига — он сам и виноват
Dr. Friedrich
Ты можешь, конечно, попробовать с порога посылать нахер таких клиентов
Dr. Friedrich
Ну чтоб не досили сервер
Dr. Friedrich
Но ему в любом случае придётся у себя запрос переписать, если он не может его результаты переварить, так?
Nikolay
Nikolay
Тащить пачками
Roman
Roman
Nikolay
Nikolay
habib
ну, я его научил)
habib
var ids = context.Users.Where(....).AsTemp();
var query = context.Dealers.Where(dealer => ids.Contains(dealer.UserId))
habib
типа того
habib
и притом это EF6
Nikolay
Прикольно, не знал даже про такое
habib
моу код скинуть
habib
правда это еще тот костыль
habib
но работает
Nikolay
Кидай, мб пригодится)
habib
https://gist.github.com/habib-sadullaev/7a733dbf28b8faca4e5fc777091fd3ab
habib
и нужно заглушку для темповой таблицы сделать
habib
ну, чтоб при ее появлении контекст мог ее увидеть
Nikolay
habib
ms sql
habib
если ты об этом
Nikolay
Я вижу ты обычные таблицы используешь
Nikolay
Просто в оракле есть специально для этого временные таблицы, в mssql скорее всего тоже
Nikolay
Они даже на диск вроде не пишутся, просто в памяти лежат
habib
ну, в еф6 без таких ухищрений не обойтись
habib
я подозреваю, в еф-коре больше возможностей
habib
habib
вот в нее и записывается
habib
там спей база есть
habib
TempDb
habib
кажись
habib
в ms sql
Nikolay
Не, там суть в том, что ты temporary создаёшь также, как и обычные
Nikolay
CREATE GLOBAL TEMPORARY TABLE {temp}(id NUMBER);
Nikolay
Типа так
habib
а
habib
в мс сиквеле по-другому
habib
но суть таже
Nikolay
А в Oracle 18c можно сделать вообще таблицу на сессию
habib
она в рамках одного соединения создается
habib
и удалается автоматом
habib
habib
одно подключение, его держишь открытым, чтобы она, это темп таблица была доступна на протяжении всего запроса, пока контекст жив
Nikolay
habib
ну, обычно, одно подключение на один запрос
habib
так что не вижу проблемы
habib
в зависимости от сценария, можно немного переделать в класс с IDisposable
habib
и через using указывать скоуп
Vasiliy
https://www.theverge.com/platform/amp/circuitbreaker/2019/3/19/18273461/google-stadia-cloud-gaming-service-controller-hands-on-gdc-2019
вообще классная штука. Надо, конечно, смотреть на монетизацию сервиса. А так уже все крупные игроки ударились в облачный гейминг. Сони. МС и вон теперь еще и Гугл. Интересно, как будет сони делать, ибо у гугла и МС есть уже давно свои сервера по миру, а вот у сони заметно меньше их.
И Знаете что самое веселое? то что обланый гейминг уже был. Помню ах 2008-10 я был сказал, как раз когда выходил Crysis и все остально и все такие мы представим вам будущее облачный гейминг, где даже кризис пойдем на максималках.
Я о том, что большинство новых идей в IT как то начинают работать только во второе пришествие. Аналогично с ВР.