database application

  • Thread starter Thread starter eusclide
  • Start date Start date
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
 
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).
 
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
 
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
 
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
 
Back
Top