Export SQL dialog rewritten and lightning fast now

ansgar's profile image ansgar posted 14 years ago in News Permalink
The old "Export as SQL" dialog is gone. Functionality was moved to the table tools dialog which has one tab per tool (maintenance, find in db, export SQL). Most features are still alive, only the target version drop down was found to be more confusing then helpful to me so I left it out for now.

Apart from the GUI changes, I rewrote the whole bunch of code which loops through your table rows and creates INSERTs. Probably you have noticed the old dialog was very slow when it came to export large tables. Not so the new dialog - it is nearly as fast as mysqldump does an export!

I have a 23M table with 1,1 Mio rows, used for testing purposes:
* Old HeidiSQL export took ~1 minute
* New dialog: 10 seconds
* mysqldump: 4 seconds
Another 5M table with 40,000 rows:
* Old dialog: 22 seconds
* New: 1 second
* mysqldump: 1 second

The problem with the old dialog was slow string concatenation in Delphi, which is now solved using TStream and TFileStream as a replacement.

See it in action by downloading the latest build (Help > Check for updates)
1 attachment(s):
  • new-export-dialog
ansgar's profile image ansgar posted 14 years ago Permalink
Btw, you can still export everything a) into one big file, b) one file per table or c) another database on the same server. The fourth option - another host - will be readded soon.

Also, views are now supported here. Stored routines will follow.

Did you notice the tree on the left lets you select the whole server so you are able to create a complete server backup now in two clicks!
ansgar's profile image ansgar posted 14 years ago Permalink
Views are now exported at the very end of the export to avoid SQL errors à la "Table XYZ does not exist" when creating a view pointing to a later created table.
ansgar's profile image ansgar posted 14 years ago Permalink
Exporting from server to server was added recently. This time without the need to have more than one window open: Just select one of your stored session names in a pulldown box and HeidiSQL looks up gives you a list of available databases on the remote server in a second pulldown box:
1 attachment(s):
  • new-export-dialog-remote

Please login to leave a reply, or register at first.