Issue Details (XML | Word | Printable)

Key: CORE-3433
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Adriano dos Santos Fernandes
Reporter: Adriano dos Santos Fernandes
Votes: 0
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Improve GBAK restore performance (records insertion)

Created: 08/Apr/11 05:54 PM   Updated: 23/Apr/13 11:58 AM
Component/s: GBAK
Affects Version/s: None
Fix Version/s: 2.5.1, 2.1.5, 3.0 Alpha 1

Time Tracking:
Not Specified

Issue Links:
Relate
 

Planning Status: Unspecified


 Description  « Hide
There is a simple change which makes it much faster, tested with Linux 2.5 embedded restore:

Two databases, with two different tables filled with 2,000,000 records:
create table t1 (n1 integer);
create table t10 (n1 integer, n2 integer, n3 integer, ..., n10 integer);

----------------------
Restore timings:
T1: 14.5s
T10: 20.5s

Improved gbak timings:
T1: 9.7s
T10: 14.7s
----------------------

GBAK builts a BLR in the following way:
blr_receive
blr_store
...

Then calls isc_start_and_send N (records) time.

My change creates this BLR:
blr_loop
blr_receive
blr_store
...

Calls isc_start_and_send first time then N-1 isc_send.

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dmitry Yemanov added a comment - 09/Apr/11 05:15 AM - edited
I've changed the title to better reflect the goal of this fix. There are other possible improvements, e.g. related to index creation performance, and it'd be better to have these changes outlined/logged as separate items.

Alexey Kovyazin added a comment - 10/Jul/11 09:18 AM
Hello,

Can I ask to back port it to 2.1.5?
There are some big databases running on 2.1.4 (up to 400Gb), and having several % of improvement will save many minutes of maintenance.

Regards,
Alexey Kovyazin
www.ibsurgeon.com

Thomas Steinmaurer added a comment - 14/Jul/11 10:52 AM
I would also like to ask whether it is possible to back port this improvement into 2.1.5. Thanks!

Adriano dos Santos Fernandes added a comment - 14/Jul/11 11:02 AM
Probably yes. I'll check it.

Adriano dos Santos Fernandes added a comment - 17/Jul/11 02:59 AM
Backported to 2.1.5.

Thomas Steinmaurer added a comment - 18/Jul/11 10:29 AM
Great!