|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Добрый день, товарищи! Прочитал много гугла, но внятного решения не нашел. Надеюсь вы сможете подсказать. На сервере SQL имеется табличка. 67 полей с типами Int, Binary(8), varchar(255), Decimal(31,15). Количество строк >5kk. Прирост данных ~30к в месяц. У меня стоит задача эту табличку вывести в DataGridView. Пробовал делать через DataSet и SqlDataReader. При любом из вариантов при сборке x86 приложения выхватываю OutOfMemory. При сборке x64 приложение выедает гигабайты оперативной памяти. Все данные при выгрузке приводятся к System.String. Общий принцип выгрузки такой: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Не покидает стойкое ощущение, что я что-то делаю неправильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 09:57 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel, вам точно на клиенте нужно отобразить сразу ВСЕ строки ? Посмотрите в сторону пейджинга, скуль его давно поддерживает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:08 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Можно не все. Суть в том, чтобы показать клиенту все данные из этой таблицы, удовлетворяющие фильтрам. Фильтры строятся по всем столбцам таблицы. Таблица представляет собой некий журнал событий, регистрирующей изменения в других таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:16 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel, Вы не слышите что вам пишут. На строке fill Вся база качается на клиента. Вам нужна пагинация. Видели такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:33 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel, Dataset такое не выдержит Datagridview в виртуальном режиме для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:35 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, Тупая пагинация - от бедности В msacess грид неплохо сделан ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:41 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
ИзопропилТупая пагинация - от бедности Во всех языках программирования (ЯП) с талами фигово. Увы. ИзопропилВ msacess грид неплохо сделан Ссылку? Не видел. Вообще, в net планформе должен быть)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:46 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123талами С таблицами ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:47 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, Я вполне услышал :). Но не сталкивался с таким подходом. У Вас, случаем, не найдется примера? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:47 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123Вся база качается на клиента. Вам нужна пагинация.Как пагинация поможет при фильтрации на клиенте? Фильтрация в этому случае должна быть на сервере. Качать готовый отфильтровайнный и сджойненный результат, а не пытаться на клиента всю базу перекачать - не для того СУБД придумывали, чтобы на клиенте все делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:56 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel Код: c# 1.
звездочка - вообще зло! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:57 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel, У меня табла от телерик. А запрос на нужную страничку: Queryable.Skip(номерСтранички.... NuGet....pagedList. ... Но я коллекционирую и другие варианты как и вы)). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:00 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123Вся база качается на клиента. Вам нужна пагинация.Как пагинация поможет при фильтрации на клиенте? Фильтрация в этому случае должна быть на сервере. Качать готовый отфильтровайнный и сджойненный результат, а не пытаться на клиента всю базу перекачать - не для того СУБД придумывали, чтобы на клиенте все делать. Как пагинация мешает фильтрации? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:02 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123Как пагинация мешает фильтрации?Пагинация выполняется ПОСЛЕ фильтрации. Поэтому пагинация сама по себе не сможет уменьшить количество записей, передаваемых с сервера, если выполняется на клиенте. Так что фильтрацию надо выполнить на сервере, а пагинация - это уже второй вопрос ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:05 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, Про работу на клиенте вы сами придумали. Я не говорил что работаю на клиенте с большими выборками. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:10 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.ProПоэтому пагинация сама по себе не сможет уменьшить количество записей, передаваемых с сервера, если выполняется на клиенте. А кто говорит, что пейджинг на клиенте ??? Я отфильтровал данные на сервере и получил 1М строк. После этого использую пейджинг на сервере и уменьшаю количество строк передаваемых с сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:13 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
5 вариантов paging, выбирай: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:14 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, При асинхронной загрузке можно и не ждать окончания фильтрации ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:14 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:15 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Konst_One, Я бы еще версию скуля указал , для которой прокат пейджинг ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:16 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Konst_One, Хранимка - привязка к одной субд. Малеееенькая ложка дёгтя.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:18 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
это просто пример, обёрнутый в ХП для удобства ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:19 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Konst_Oneэто просто пример, обёрнутый в ХП для удобстваОК. А панель пейджинга в ГУИ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:21 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
какая панель? у меня вообще сейчас ангуляр ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:25 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
big-dukeА кто говорит, что пейджинг на клиенте ??? Я отфильтровал данные на сервере и получил 1М строк. После этого использую пейджинг на сервере и уменьшаю количество строк передаваемых с сервера.А кто говорит, что фильтрация на сервере? У ТС проблема именно с тем, что он неотфильтрованные данные не может получить в DataSet, ибо их много. Oomel Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:25 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Konst_Oneангуляр))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:28 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
вместо этого: Код: c# 1.
пусть попробует примеры из моего кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:33 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Shocker.Probig-dukeА кто говорит, что пейджинг на клиенте ??? Я отфильтровал данные на сервере и получил 1М строк. После этого использую пейджинг на сервере и уменьшаю количество строк передаваемых с сервера.А кто говорит, что фильтрация на сервере? У ТС проблема именно с тем, что он неотфильтрованные данные не может получить в DataSet, ибо их много. Oomel Код: c# 1. 2. 3.
Дык в память достаточно keyset загрузить ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:39 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
>Oomel, сегодня, 10:16 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1289492&msg=21307174][21307174] >Суть в том, чтобы показать клиенту все данные из этой таблицы, удовлетворяющие фильтрам. Думаю, что Вам правильно подсказывают - пейджинг, есть решение Ваших вопросов. Но иногда это стрельба по воробьям. В этих случаях поступаю так: примерно знаю объем выборки в строках (N), которую может потянуть локальный комп. Использую select top N. Если объем выборки = N, то зажигаю желтый "фонарь" - реальная выборка возможно имеет больше строк, уточни параметры запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:53 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Всем большое спасибо. Вроде бы начинает что-то получаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:53 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
+1 за виртуальный режим ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 12:07 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Этап программа ненужная, так как пользователь никогда не будет смотреть более 500 строк ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 13:01 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Cat2, Искать, фильтровать, сортировать - будет И не надо мешать ему пейджингом ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 13:15 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
ИзопропилИскать, фильтровать, сортировать - будет Да, но не на клиенте ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 13:25 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Oomel, 100500 раз обсуждалось столько же и советчиков для любителей многомиллионных датасетов - типа загружу все записи, а там буду думать что с ними делать фильтрацию нужно задавать на сервере параметрами запросов, а для отображения использовать pagination с разумным количеством записей ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 19:35 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
MaratIsk, Да хоть10000000 раз можно обсуждать Слаще не станет ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 22:13 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
ИзопропилMaratIsk, Да хоть10000000 раз можно обсуждать Слаще не станет Зато хоть какая-то надежда, что кто-то услышит, и через 10 лет в банкомате не надо будет выбирать свой пинкод из 9999 вариантов, листая 400 сраниц ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 20:17 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Cat2Зато хоть какая-то надежда, что кто-то услышит, и через 10 лет в банкомате не надо будет выбирать свой пинкод из 9999 вариантов, листая 400 сраницКонечно, через 10 лет тебе придется, размахивая руками, доказывать банкомату, что это твоё лицо, просто с похмельяне выспался ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 20:20 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
MaratIsk, Я согласен что пагинация это прошлое тысячилетие. Но вот только это решение простое как 5 рублей. А готовые таблы с виртуализацией все платные. Что бесплатные все полуфабрикаты и требуют возится программисту.....самому клетки перерисовывать))). Майкрсофт должен был воткнуть в Net таблу телерика или девок. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 07:26 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123Майкрсофт должен был воткнуть в Net таблу телерика или девок. Майкрософт благотворительностью не занимается (как и телерик с деэкспрессом). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 08:10 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Что косвенно подтверждает сложность работы). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 09:04 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
А написать самому компонент уже не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 09:51 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAА написать самому компонент уже не вариант? точно такой же, как и написать логгер, субд, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 12:43 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
ViPRosskyANAА написать самому компонент уже не вариант? точно такой же, как и написать логгер, субд, ... С фига-ли? Если нет нормального виртуального режима, то почему бы самостоятельно не реализовать. Я в бытность стажёром такое делал для просмотра здоровенных логов, загруженных с серверов коммутации сотовой связи. Не тянет задачка на логгер и тем более на субд... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 19:50 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Во времена .NET Framework 1.1 не было ещё готовых библиотек и подходящих платных компонентов. И ничего, писали всё сами ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 19:53 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAВо времена .NET Framework 1.1 не было ещё готовых библиотек и подходящих платных компонентов. И ничего, писали всё сами Вот поэтому я перешел на Net после 2.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 20:00 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAВо времена .NET Framework 1.1 не было ещё готовых библиотек и подходящих платных компонентов. За это время ничего не изменилось. А у соседей: - у Java Oracle восьмая версия JavaFX. А свинг на свалку - у APEX Oracle бесплатная веб платформа и веб грид наикрутейший. - у Borland Delphi все компоненты стали кроссплатформенны на линукс - y google андроид и своя IDE. - у вади своя табличка) .... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 20:08 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123skyANAВо времена .NET Framework 1.1 не было ещё готовых библиотек и подходящих платных компонентов. За это время ничего не изменилось. А у соседей: - у Java Oracle восьмая версия JavaFX. А свинг на свалку - у APEX Oracle бесплатная веб платформа и веб грид наикрутейший. - у Borland Delphi все компоненты стали кроссплатформенны на линукс - y google андроид и своя IDE. - у вади своя табличка) .... Люди на свинге корячились, а его на свалку? Упоминание Борланд Дельфи ничего кроме смеха не вызывает ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 20:30 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Cat2, Ну и на сильвере корячились). Бывает. Главное чтобы движуха была). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 20:41 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, ты под андроид пробовал писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 21:44 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAPetro123, ты под андроид пробовал писать? Я под все что выше написал писал. И что? Тебе важен мой ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 21:56 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123skyANAPetro123, ты под андроид пробовал писать? Я под все что выше написал писал. И что? Тебе важен мой ответ? Мне просто не понятен пункт про андроид. Ну есть он, есть IDE, и что? Кроме этого ни фига же толком ещё нет. Первая версия каких-то общих архитектурных подходов только недавно появилась. Шаг влево, шаг вправо и начинаются танцы с бубном :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:04 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, генерики к примеру пробовал использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:05 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANA, Архитектурные подходы меняются там так быстро как версия ведра у тебя на сотовом)) Недано безопасность полностью сменили. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:17 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAPetro123, генерики к примеру пробовал использовать? Нет. Там главное MVVM, ГУИ и сетевые коммуникации. Например гугл сервис переводчика или сервис голосовых команд. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:19 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, Visual Studio со времён .NET FRamework 1.1 тоже сильно развилась Плюс Visual Studio Code появилась Так что ещё и по этому не понятно, к чему ты андроид упоминаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:24 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123skyANAPetro123, генерики к примеру пробовал использовать? Нет.Ну вот как-нибудь попробуй ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:25 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANA, Генерики и IDE хороши в шарпе. Тема про ГУИ контролы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 22:48 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, и ты считаешь, что в андроиде всё в поряде с ГУИ контролами? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 08:20 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANAPetro123, и ты считаешь, что в андроиде всё в поряде с ГУИ контролами? У тебя интересная манера зачинать спор))). Выше я привел кроме андроида ещё языки программирования. Нет тебя тянет про андроид поговорить. Судя выше по твоему вопросу, у тебя его даже на сотовом нет. Колись. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 08:37 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, спор? Что за манера видеть везде спор? Я просто твоего мнения спросил. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 09:01 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
skyANA, Я же ответил. По сравнению с net 3 - 4.6 там всё нормально Для программистов. Вендоры работают и заботятся. .... Не согласен? Рассказывай. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 09:05 |
|
Большая выборка и DataSet
|
|||
---|---|---|---|
#18+
Petro123, да что там рассказывать, вот к примеру: How to get the selected item from ListView? Это по твоему нормально? Для меня нормально - это тупо взять ListControl.SelectedValue, а не по позиции. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 10:07 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399431]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 212ms |
0 / 0 |