|
|
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги! Кто-нибудь устанавливал опытным путем, какой размер БД приведет к проблемам работы ADO.NET в отсоединенной модели работы на компьютере со средней производительностью (что-то типа селерона 2400 Мгц/256 ОЗУ)? Если да, то какой выход из ситуации оказался приемлемым?. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2005, 16:25 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Вам не нравится отсоедененная модель обработки данных? Или какой-то другой скрытый подвох есть в вашем вопросе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 07:08 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Размер БД это проблема исключительно БД, ты же не будешь ее полностью выкачивать в свое приложение, правда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 10:26 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Подвоха в вопросе нет никакого. Смысл отсоединенной модели данных в копировании всей БД в память. Вот меня и интересует, как будет чувствовать себя компьютер с вышеуказанными параметрами при загрузке, например 3 Гбайтной базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 12:01 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Странное представление у вас об отсоедененной модели. Лично я никогда не использовал серверных курсоров и прочей "благодати к которым привыкли программисты. Я просто не понимаю ее смысл. Я беру данных ровно столько, сколько мне нужно в данный момент. Жаль что вся эта ботва возвращается в ADO.net 2.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 12:16 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Alex AntonoffСтранное представление у вас об отсоедененной модели. Лично я никогда не использовал серверных курсоров и прочей "благодати к которым привыкли программисты. Я просто не понимаю ее смысл. Я беру данных ровно столько, сколько мне нужно в данный момент. Жаль что вся эта ботва возвращается в ADO.net 2.0 Можно для ламера в двух предложениях что такое отсоединенная модель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 13:28 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
В двух словах - это означает, что вы загружаете нужные вам данные и можете физически откобчиться от БД. То есть ваши данные для операция не требуют подключения. Отсюда вытекает, отсутствие серверных курсоров ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2005, 14:01 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Хорошо, тогда представим себе такую ситуацию: У меня есть таблица с 5 миллионами записей. Мне необходимо отобразить эту таблицу в Датагриде на виндоус-форме. Тащить всю таблицу в память нецелесообразно. Я выбираю например первые 100 записей и нормально отображаю их в Датагриде. Тогда вопрос - как мне организовать скроллинг по датагриду? Я так понимаю полоса прокрутки на датагриде будет масштабирована под 100 записей.... Как мне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 08:47 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Зачем вам отображать все 5 миллионов ??? Сделайте набор фильтров (читай поиск) и выдвайте только срез. Никто и никогда не сможет реально воспринять 5 миллионов строк данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 09:06 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Ну а например такая ситуация: Два грида мастер и деталь В мастере машины при клику по которым в детели отображаются накладные на груз в этих машинах. Понятно что сначала загружаем в DataSet только накладные той машины на которой по умолчанию стоит курсор (в мастер гриде) далее при перемещении по машинам подгружаем в DataSet остольное потихоньку. В конечном итоге после некоторого времени работы имеем 10 машин в день в среднем по 300 накладных на машину итого 3000 накладных для загрузки в DataSet вполне нормально. Можно конечно делать так что встали на машину в гриде тут же очищается DataSet (естественно только таблица накладных являющаяся деталью) и загружается данными деталя данной машины, но это не продуктивно (имхо) при случае если по гриду мастера начинают туда сюда гонять курсор. Но если подгружать постоянно данные то можно уперется в то что оператор решил раздвинуть границы временные отображаемых машин и посмотреть все машины от трех месячной давности и до сегодняшнего дня. тогда действительно выход только в том что постоянно очищать деталь при измененном мастере и грузить новые данные соответствующие активному мастеру выбранному в гиде, но ведь тогда теряется вся фишка отсоединенной модели. Вот и мне интересно какую логику тут выбрать? Т.к. если постоянно подгружать данные (понимаю что это тоже глупо) то и уменя возникает подобный Maxx2004 сколько выдержит DataSet вливания всебя данных? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 10:27 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Все зависит от задачи, если вы считаете, что 3000 строчек с данными - это много для вашего приложения, то организуйте периодическую чистку данных. в вашей таблице. Лично я не вижу проблем в загрузке по требованию, то есть вы начинаете двигать курсором, потом остановились, прошло 500 милисекунд, пошел запрос на сервер, данные качаются через дата ридер, отобразили все. Нафига вам таблицу держить? Держите таблицу, не забывайте про обновления, которые есть на сервере, но нет на клиенте. Лично я не использую datatable и dataset вообще, я использую бизнес-обьекты, мне нужна сущность "машины", загружаю коллекцию с автомобилями, нужны детали по этим автомобилям, по принципу Lazy Load, загружается список груза. Дополняя это дело кешем (для обеспечения одна строка в БД - один обьект в приложении), который отслеживает, когда обьекты больше не нужны (умерли), получается вполне хорошее приложение. А простой Master - Detail - прошлый век. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 12:33 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Alex Antonoff пишет: > Все зависит от задачи, если вы считаете, что 3000 строчек с данными - > это много для вашего приложения, то организуйте периодическую чистку > данных. в вашей таблице. Лично я не вижу проблем в загрузке по > требованию, то есть вы начинаете двигать курсором, потом остановились, > прошло 500 милисекунд, пошел запрос на сервер, данные качаются через > дата ридер, отобразили все. Нафига вам таблицу держить? Держите таблицу, > не забывайте про обновления, которые есть на сервере, но нет на клиенте. А каким образом можно реализовать эту задержку? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 12:53 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Здрасте ... А таймер вам на что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 12:54 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
Alex Antonoff пишет: > Здрасте ... А таймер вам на что? Хе хе действительно :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 13:39 |
|
||
|
Технические ограничения ADO.NET
|
|||
|---|---|---|---|
|
#18+
авторЛично я не использую datatable и dataset вообще, я использую бизнес-обьекты Подожди, я как бы решил раз они есть то их использовать надо и точка(ну у меня с другими провайдерами опыта работы нет вообще ;-) ). Хочется, если можно, подробнее в примерах, я тоже к такому мнению начинаю склонятся (Lazy Load, Domain Model) но все гложит чувство что может я не правильно делаю, ну типа оно есть, а я его не буду юзать следовательно производительность падает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:59 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=33149121&tid=1352581]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 440ms |

| 0 / 0 |
