How are you doing the inserting? When you timed the insertion did you include the time it took for the application to start up(this can significantly skew the figures since the dotnet framework can take some time to load. Do you have a firewall running? Do you have any software like an antivirus that is monitoring the filesystem? Now you have commented on downloading and performing insertions, does the end user have data that other locations do not? I only ask because if there is not much data it might be easier to download the entire GDB file replace the old one and then perform any changes that you need, to insert the client records.
 
John Smith
 
----- Original Message -----
From: Kyle Olson
Sent: Monday, July 10, 2006 1:25 PM
Subject: [Firebird-net-provider] Speed of Mass Inserts

My company is upgrading an old piece of software that is written from within Access 97 (using its built in VBA), and completely rewriting it using C# and Firebird.  The reason that we chose Firebird is its very small distributable footprint and our initial speed tests did show it to be a fast database engine.  The problem we are having now is the speed of inserting data into a Firebird database.

 

The database for our software has about 5 main tables which have a sum of about 400,000 records in total.  The database itself is about 43.5 MB in size, which is a little smaller than the 50 MB Access database we are converting it from.  Our main concern is the download time for 56k modem users, since this file only compresses to just under 10MB using standard zipping.

 

To fix this in Access 97 we wrote our own compression for our data.  Because the compression was built with our specific data in mind, the data file was 832 KB (down from 14.5 MB using Windows Zip).  During the program’s installation we wound uncompress it; a process that added about 30 seconds to 1 minute onto the installation time.  This used standard DAO to do the inserting of the data into the database.

 

With Firebird, using the .Net 2.0 provider, it takes much longer.  Using FBCommand Insert statements, along with parameters for all inserted fields, it take over 5 minutes on my very fast computer.  This could take possibly take up to 10 minutes on an average computer.  While this would still save 56k users time compared to downloading an uncompressed file from the internet (saving about 40 minutes), it would not be acceptable for our broadband users.  Also, reinstallation and upgrading would take an unacceptable amount of time.  People usually do not like software upgrades to be slower.

 

Are there any techniques for inserting large numbers of records with Firebird?  I just cant see how Access 97, a 9 year old piece of software, can outperform Firebird by such leaps and bounds.

 

Thanks you for any help you can give,

 

Kyle

 



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


_______________________________________________
Firebird-net-provider mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Firebird-net-provider mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to