database application

E

eusclide

Hello, I ve created a windows form application with access db
I use 16 tables.
For each table are created datatable, dataadapter, binding navigator and so
on....
I have seen that application becomes really heavy and slow during the
creation of code( editing )
Which is the best way to make all fast and not heavy?

if my database use a table with 1 millions of records, which way is the
best? thanks
 
P

PvdG42

eusclide said:
Hello, I ve created a windows form application with access db
I use 16 tables.
For each table are created datatable, dataadapter, binding navigator and
so on....
I have seen that application becomes really heavy and slow during the
creation of code( editing )
Which is the best way to make all fast and not heavy?

if my database use a table with 1 millions of records, which way is the
best? thanks

Lets start with some basics.
How much of the database access is read only (no update)? For that, consider
using DataReader.

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.data.datareader.aspx

You mention a table with one million rows? 16 tables? How much total data
and how many potential concurrent users? Bottom line: Is Access the right
DBMS for you, or could it become a bottleneck? You might consider SQL Server
(Express).
 
M

Mr. Arnold

eusclide said:
Hello, I ve created a windows form application with access db
I use 16 tables.
For each table are created datatable, dataadapter, binding navigator and so
on....
I have seen that application becomes really heavy and slow during the
creation of code( editing )
Which is the best way to make all fast and not heavy?

if my database use a table with 1 millions of records, which way is the
best? thanks


You should use a generic collection of objects or Data Transfer Objects
and bind the collection to the control. You work with objects not data
tables. Data tables are the slowest form of data access.

You use Linq and Alinq to create a DTO, populate it from the DB and send
the DTO(s) to the UI. You update the DTO(s) at the UI and send them back
to Alinq and let Alinq work with the DB to persist data.

http://www.alinq.org/en/default.aspx

Those 16 Access tables become 16 ORM objects using Linq and Alinq.

http://en.wikipedia.org/wiki/Object-relational_mapping
http://msdn.microsoft.com/en-us/library/bb308959.aspx
 
E

eusclide

PvdG42 said:
You mention a table with one million rows? 16 tables? How much total data
and how many potential concurrent users? Bottom line: Is Access the right
DBMS for you, or could it become a bottleneck? You might consider SQL
Server (Express).


1 millions of record is just an example, in this case the db is sql server
:)
Thanks
 
B

Bernie

A couple of thoughts that haven't been mentioned yet. Make sure you have
indexes using the fields you will be searching. Also move your database
access off into threads when ever possible. That leaves the UI thread alone
to keep the user interface up to date.

Bernie
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top