Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Slow Performance with Firedac/ Access DB with post


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 0
Registered User

Posts: 46
Registered: 3/4/05
Slow Performance with Firedac/ Access DB with post  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 28, 2017 1:06 PM
Migrating(Upgrading - hmm not sure yet) to Firedac from ADO for database that uses MS Access DB. Berlin 10.1 Update 1.

Noting that query performance for reporting is much improved = great.

Performance with doing separate Edit/Append transactions using TFDQuery:

db.edit;
dbfield1.value := X;
db.post;

is very slow compared to ADO - i note two separate threads are created for every transaction probably among other nasty things, if updating even only a couple hundred rows like this it takes 10x longer compared to ADO. so not ok when doing 10k or more transactions.

BeginBatch/ EndBatch does not affect performance at all, cached updates := true just then instead of doing one transaction each iteration just does them all at the end which has no performance improvement. Seperate threads are spawned for every transaciton instead of bulk processing as expected.

Using Array DML is faster, however the number of transactions to do is not always known ahead of time to set the array size so this is not practical unless pre build my own cache then submit to one Array DML action. This requires a lot of re-work - then retesting with what was/ is a stable application.

Are there any recommended settings to use to optimize performance so at least on par with ADO?
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02