Issue Details (XML | Word | Printable)

Key: DNET-320
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Yiannis Bourkelis
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
.NET Data provider

DataAdapter.Update method is very slow when database is located on flash disks

Created: 01/Jun/10 10:57 PM   Updated: 14/Jun/10 12:53 PM
Component/s: ADO.NET Provider
Affects Version/s: 2.5.1, 2.5.2
Fix Version/s: None

File Attachments: 1. File script.sql (233 kB)
2. Zip Archive (275 kB)

Environment: .NET Framework 2.0, VS2010, VS2008

 Description  « Hide
When the attached firebird database is located on a flash drive, the DataAdapter.Update method runs very slow when updating or adding new records. This is not happening on SANDISK CRUZER flash disk, but it is still slow.

I tested it with 2 flash drives, the APACER AH521 and the KINGSTON DT410 and it took around 30 seconds to insert 10 new records.

In the attached project modify the strConnectionString to point to a database located in a flash disk.
The database.fdb file is located inside the SlowFirebirdInsert folder.

Using exactly the same code and database schema, but the VISTADB database engine, inserting 10 records took around 2 seconds on the above flash disks.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jiri Cincura added a comment - 02/Jun/10 07:30 AM
Is it slow when you're using i.e. isql?

Yiannis Bourkelis added a comment - 02/Jun/10 10:09 AM - edited
Is there any way to see how much time does it take for an INSERT sql statement to execute using ISQL;

I tried to execute an INSERT statement, like the one the dataadapter uses to update the dataset and it looks that it executes fast.

I also tried to do 10 repeated INSERTS (using the keyboard on ISQL - up arrow > enter) and it took me around 5 seconds.

For the same queries using Dataadapter.Update it takes around 30 seconds.

Jiri Cincura added a comment - 02/Jun/10 02:09 PM
Run it like a script.

Yiannis Bourkelis added a comment - 02/Jun/10 06:55 PM
Ok, I ran it as a script and it executes very fast.

The attached script.sql contains 215 INSERT statements and completes in less than 500ms when the database resides on a flash disk.

This is what I did:
1.Execute isql.exe
2. connected to database and ran "CON> input "E:\script.sql"

Yiannis Bourkelis added a comment - 02/Jun/10 06:57 PM
This script contains 215 insert statements for the attached database.

Yiannis Bourkelis added a comment - 14/Jun/10 12:53 PM
where you able to reproduce this issue?