Re: Performance problem in sql ce



Gagan,

I don't have an answer for the WCF question either. It seems you'll need to break the data request down into manageable chunks, but not knowing your data, I don't really know exactly how you might do that.

Ginny

"Gagan" <Gagan@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:4395DBFB-AFB1-4746-BDE1-2556FE057F22@xxxxxxxxxxxxxxxx
Hi Guys,
I found another approach to overcome this issue. Currently i am using WCF
proxy for synchronizing master tables from main server in wifi state. I am
thinking to search from PPC and perform calculation at main server and then
export the final result from there and save it locally. So later while
extracting data locally from PPC to show in reports no need of calculation,
queries or inner joins. It would be faster also.
The only one blocking issue is how to tranfer data in bulk using WCF.
Because currently when records grows more than 20000 it starts throw an
exception can't allocate to much buffer. I am using looping in this case but
it is slow it should be in one shot as per my knowledge we should be able to
transfer up to 2 gb data or i am wrong ?
Anybody has an idea?

"Ginny Caughey MVP" wrote:

Gagan,

Without seeing your app or your data, I can't say for sure, but I'm guessing
the DataTable would be the first place to look. (And I realize you're using
that approach since you've designed your app around filtering and
databinding to it.) In general, SqlCeResultSet objects are quite small - the
main thing that grows with increasing amount of data would be the internal
collection of bookmarks. If you make changes to SqlCeResultSet objects, then
you also get memory use there to store the before and after changes. I'm
sure there's other stuff too, but mainly you are not duplicating the data in
the database in the resultset objects if you just read through them. On the
other hand, with the datatable, you are copying all the data from the
database into the data table, and with a lot of data that will take quite
some space.

As a general rule with mobile apps, you only want to read in the minimum
amount of data that a user needs at a time. This might mean a different UI
for a mobile app than you use on the desktop or web app. I understand that
you may not want a major redesign, but that might be what you end up doing.
For example instead of loading a lot of data and then letting the user
select the filter, ask the user for the type of filter first and only then
fetch the data. I think this was the point that joker was trying to make,
and it's a good one.

You should probably also test with the data and temp folder installed on a
storage card to see if that will solve your problem, but I don't know if it
will help or if that is even something you can consider for your users.

Ginny


"Gagan" <Gagan@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:05985CF9-E3E2-4559-82B1-5BD08062085E@xxxxxxxxxxxxxxxx
> Hi Ginny,
>
> Did u mean that i can get rid of this out of memory exception ?
>
> "Ginny Caughey MVP" wrote:
>
>> joker,
>>
>> You're probably right that a hybrid approach might also work, but >> he'll
>> still get best performance on a memory constrained device using
>> SqlCeResultSet and TableDirect.
>>
>> Ginny
>>
>> "joker" <joker@xxxxxxxxxxx> wrote in message
>> news:c5521cac-63b5-44c7-bdcb-d3ab41d5ef90@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> > He may be "leveraging" the indexes, but the end desire is the same.
>> > To touch the smallest number of records possible while getting the
>> > ones you want in a timely manner.
>> >
>> > I'm not really suggesting abandoning sqlce (it was sarcasm), I just
>> > think he went from one extreem (mega joins in a single query) to the
>> > other (perform all the joins in app. code).
>> >
>>
>> -- >>
>> Ginny Caughey
>> Device Application Development MVP
>>
>> www.wasteworks.com
>> Software for Waste Management
>>
>>
>>

--

Ginny Caughey
Device Application Development MVP

www.wasteworks.com
Software for Waste Management




--

Ginny Caughey
Device Application Development MVP

www.wasteworks.com
Software for Waste Management



.



Relevant Pages

  • Re: Microsoft Sync Services - good solution for me?
    ... thanks for the clearing up the WCF - http thing for me. ... "Ginny Caughey MVP" wrote: ... You can use IIS or even write some sort of app that is running ...
    (microsoft.public.sqlserver.ce)
  • Re: Application xxx has encountered a serious error and must shut
    ... I suspect that this must be a problem with the JIT compiler or .NET support ... it refers to errors in buffer management code - functions like strcpy etc. ... message (xxx is my app name). ... NB I replaced the MS SerialPort with OpenNetCF Serial and this seems to ...
    (microsoft.public.windowsce.app.development)
  • Re: Application xxx has encountered a serious error and must shut
    ... already use up your 2 free support calls with Platform Builder? ... it refers to errors in buffer management code - functions like strcpy etc. ... message (xxx is my app name). ... NB I replaced the MS SerialPort with OpenNetCF Serial and this seems to ...
    (microsoft.public.windowsce.app.development)
  • Re: Application xxx has encountered a serious error and must shut
    ... it refers to errors in buffer management code - functions like strcpy etc. ... My app is a Managed C# CF3.5 app and makes extensive use of a TCP Socket ... NB I replaced the MS SerialPort with OpenNetCF Serial and this seems to ...
    (microsoft.public.windowsce.app.development)
  • Re: Dual core and the Sample Framework
    ... Threading in my app: Yes, I create one Thread object to do background ... manually set the affinity to either core for the samples and that fixed the ... Can managed hosts do it? ... provide their own thread management. ...
    (microsoft.public.win32.programmer.directx.managed)

Loading