🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #707

Re: Pytanie o prace z ADO.Net

#707
From: Jacek WoÂłoszka
Date: Thu, 01 Apr 2004 13:34
47 lines
3271 bytes
> Hi all
> Widze ze grupa sie rozruszalo co mnie bardzo cieszy
> Moje pytanie jest dosyc teoretyczne i prosil bym o odpowiedzi praktykow z
> wiekszym stazem :)
Szpecem nie jestem ale ze ostatnio tez mnie nurtuja podobne problemy to sie
podziele swoimi przemysleniami

> Chodzi o prace z warstwa ADO.Net i duzymi bazami danych. Dotychczas
> pracowalem poprzez DataSet i wszystkie zmiany wykonywalem na nich. Ale od
> momentu jak zaczalem pracowac z tabelami o milionie rekordow taka praca
> stala sie porazka. Zreszta moze cos zle robie?

DataSet i powiazany z nia DataAdapter przy aktualizacjach wykorzystuja
dynamicznie budowane zapytanie SQL - zreszta chyba do tego sluzy obiekt
SQLCommandBuilder wykorzystywany przy DataAdapter.Update
Weic chyba nie ma szczegolnej roznicy poza elegancja kodu w przypadku
korzystania z obiektu Command i DataAdapter - a to sa chyba jedyne dwa
obiektu pozwalajace na aktualizacje danych
> Konkretnie pytanie jest takie, z jakich klas i jakich technik (wlasnie
> technik, sekwencji metod ADO.Net) korzystac w celu odczytania wierszyi
> przekazania ich do DataRow

Gdzies wyczytalem ze do odczytu danych najszybszy jest DataReader- podobno
DataSet korzysta w DataReader

> DataSet mial mi zapewnic mozliwosc pracy z "odlaczonymi" danymi, ale w
> momencie jak z serwerem zaczynaja pracowac 5 aplikacji jednoczesnie, z
czego
> 3 sa automatami zauwazylem duzy spadek na synchronizacji danych (Update,
> AcceptChanges). Moze wiec przeniesc ta warstwe na zapytania (DataReader
dla
> selectow o ograniczonej ilosci wierszy) a zapisy bezposrednio na baze
danych
> (SqlCommand z parametrami zapisu?). Problem polega na tym, ze jedna
> transakcja to jest wpis w tabele "master" i 3 tabele polaczone z nia
kluczem
> i na DS takie transakcje sie udawaly. Jak to zrealizowac obecnie? Tylko ze
w
> ten sposob znika mi warstwa posrednia w aplikacji i zaczynam "dowalac" w
> serwer zapytaniami i transakcjami. Ale przy tak wielkich tabelach DS
zaczely
> mi zamykac pamiec na stacjach roboczych.

Jako ze DataSet jest reprezentacja tabeli w pamieci to moze nie pobierac
wszystkich rekordow tylko uzyc Fill zwaracajacej np 1000 rekordow? Bo
faktycznie zauwazylem ze juz ptrzy kilku tysiacach rekordow uzywana pamiec
rosnie konkretnie
Technical Details
Message-ID: <c4h5rd$753$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!proxad.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <c49ept$fbg$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!proxad.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Jacek WoÂłoszka <jacekw@grochowski.com.pl.wytnij_to>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Pytanie o prace z ADO.Net
Date: Thu, 1 Apr 2004 15:34:41 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 49
Message-ID: <c4h5rd$753$1@nemesis.news.tpi.pl>
References: <c49ept$fbg$1@news.onet.pl>
NNTP-Posting-Host: qg170.internetdsl.tpnet.pl
X-Trace: nemesis.news.tpi.pl 1080826542 7331 80.55.32.170 (1 Apr 2004 13:35:42 GMT)
X-Complaints-To: use...@tpi.pl
NNTP-Posting-Date: Thu, 1 Apr 2004 13:35:42 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit