SQLyog 8.13 beta 1 Has Been Released

peter_laursen

Changes (as compared to 8.12) include:

Features:
* SQLyog can be started with a ‘-dir’ switch like “SQLyogENT -dir somefolder”. This -dir switch specifies where SQLyog will look for the sqlyog.ini file and where all writeable files will be saved.  This was mainly implemented for users that want to have all SQLyog-related files on a removeable drive or some kind of encrypted storage. Note that if you use the setting in ‘preferences’ to store TAGS file some specific place the ‘preferences’ setting will still have effect,  also if the -dir switch is used.
* Improved/rearranged the GRIDS in Data Sync and Import External Data wizards .
* SJA mail functionality now supports SSL/TLS encryption.
* ALTER VIEW will now format the SELECT-part of the VIEW definition.
* Now all batch jobs will not generate BULK INSERTS larger than 16MB (like already implemented in Import External Data in 8.11).
* In CREATE/ALTER TABLE the charset and collation columns can now be hidden for better overview (most users never use  it).

Bug Fixes:
* Edit menu showed F5 for both Refresh and Execute Query.
* Autocapitalisation settings had effect where they should not.  It has now been disabled in MESSAGES tab and in the error dialogue.
* Non-column results (like functions, expressions etc.) were affected by column-width persistence feature what they should not (it had weird effects sometimes).
* Various places a horizontal scrollbar displayed where it was not requiered.
* Fixed wrong behaviour with GRID scrollbar after resize.
* ALTER TABLE dialogue executed SHOW TABLE STATUS with no LIKE-clause.  That could be slow with a large number of big InnoDB tables in a database.
* PROFILER tab sometimes did not show after executing multiple queries.
* After doing FILTER in DATA tab, LIMIT would be reset to previous value.
* A ‘duplicate key’ error would occur with batch jobs (including Data Sync) if an autoincrement column had a ‘0′ value. We now set ‘NO_AUTO_VALUE_ON_ZERO’ sql_mode for batch jobs.
* On Wine F8 keyboard shortcut was only functional after executing a query.
* When copy database/table from a MySQL server 5.1 or higher to a 3.x or 4.0 server timestamps with ON UPDATE-clause caused a syntax error as ON UPDATE is not valid on such target.  There was no issue when source was 5.0 as we transform the CREATE statement.  But the condition had a bug so it  did not work with 5.1+ .
* It was not possible to enter an empty string in the GUI for ENUM/SET management.
* When queries were inserted from ‘edit .. paste SQL statements’ menu the tokenizer editor component could fail to identify exactly where a statement started and stopped. Reason was that the tokenizer expects Windows linebreaks (\r\n) but templates contained Unix linebreaks (\n).

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.1 Database Synchronization Benchmarks

Chirag

Thanks for the overwhelming response to SQLyog 8.1 release. We had highlighted the speed improvements in Data Synchronization in that post. As promised here are the benchmarking results. In this post, we will compare SQLyog 8.1’s data sync speeds against previous version of SQLyog (v 8.05) and Maatkit (v 3519).

We have done similar comparisions in the past. By comparing against Maatkit, we are not trying to imply that SQLyog is better than Maatkit or something similar. Both these tools target a different set of audiences. Maatkit has got some incredible tools that we use internally for a variety of tasks. Maatkit is command line, free and open source. SQLyog’s Data Sync Tools have GUI support, are closed source and are not free on Windows. We are comparing against Maatkit because we didn’t find any other 3rd party tool that does data sync at similar speeds. And just comparing the new version of SQLyog with the old version of SQLyog is not that interesting!

Finally, we would like to thank Baron ‘Xaprb’ Schwartz (author of Maatkit) for the Maatkit algorithms. SQLyog data sync algorithms are based on Maatkit algorithms.

Benchmarking Setup did consist of a source and a destination machine connected by a standard 100 Mbps network link.

System Configuration:

Source: AMD Athlon 2.1 GHz Dual Core, 2GB RAM running Win XP Pro SP2

Destination: Intel  Core 2 Duo 2.53 GHz, 2GB RAM running Win XP Pro SP2

To arrive at the benchmarking figures we took the average of 3 readings for each case. Below are the benchmarking results with the time taken to complete data sync for each of the 4 cases:

Case 1:

Source Rows: 3950400, Target Rows: 3950400
Inserted Rows: 49599, Updated Rows: 49500, Deleted Rows: 49599
Primary Key (INT)
Engine: InnoDB

Case 2:

Source Rows: 48025, Target Rows: 48775
Inserted Rows: 1225, Updated Rows: 1225, Deleted Rows: 1975
Primary Key (INT)
Engine: InnoDB

Case 3:

Source Rows:150404 , Target Rows: 152864
Inserted Rows: 12136, Updated Rows: 16236, Deleted Rows: 14596
Primary Key (VARCHAR, CHAR)
Engine: InnoDB

Note: In this case Maatkit could not complete data sync. We aborted the test after 20 minutes of wait.

Case 4:

Source Rows: 18209, Target Rows: 10000
Inserted: 9018, Updated Rows: 1001, Deleted Rows: 809
Primary Key (SMALLINT, BIGINT)
Engine: MyISAM

The performance improvements in Data Sync is mainly due to the optimization that we have done to reduce the number of I/O operations required over the network. As a result, speed improvements will be more visible when the source and destination servers are on different machines.

You can download the four test cases if you want to verify/test on your environment. And if you think it is not fair to compare with Maatkit on Windows, you can do the same on Linux with the SJA (SQLyog Job Agent) for Linux as well.

Download links for zip archives with SQL dumps for target and source:

Note that these dumps do not contain a USE statement. So be careful about where you import them!

Download SQLyog and SJA here. Note that data synchronization is included in SQLyog Enterprise and Enterprise Trial versions only - and in SJA for Linux.

Shameless Plug: We are using Visifire - Webyog’s open source charting component to draw these charts. If you want to put some visually stunning animated charts in your applications, check out Visifire!

Please feel free to share your thoughts on the comments below.

Regards,
Team Webyog


SQLyog 8.12 Has Been released

peter_laursen

Changes (as compared to 8.11 ) include:

Bug Fixes:
* Backups did not `backquote` identifiers inside the columns-list of an INSERT statement (ie. “INSERT  .. (col1, col2) VALUES ..” instead of  “INSERT  .. (`col1`, `col2`) VALUES..”). If specific (but not all) keywords were used for naming a column, backups would not restore. This bug was introduced in 8.1.
* A sync script generated with Data Sync had INSERT statements duplicated. Also this bug was introduced in 8.1.
* Fixed a painting issue when switching between DATA tab and RESULT tab.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.11 Has Been released

peter_laursen

Changes (as compared to 8.1 ) include:

Bug Fixes:
* A memory corruption could occur when saving a file using ’save as’ (’save’ was not affected) from the editor. Various issues like painting issues and even a crash could then occur.
* Scrolling with mouse scroll-button was not functional in the new GUI  for SET/ENUM management.
* ‘duplicate table’ did not duplicate all ‘table options’ defined for a table - like MAX_ROWS etc. (Also note that Foreign Key CONSTRAINTS are not duplicated either, but that is intentional and not a bug).
* Bulk INSERTS generated by Import External Data Tool will now be restricted to 16 MB in size if max_allowed_packet in server configuration is larger than 16 MB. On specific systems/configurations memory issues were reported .

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.1 - Fast and Furious

Chirag

One of most loved feature of SQLyog is the snappy and responsive user interface. Many of our users and customers prefer SQLyog over other tools because of this particular reason.

One reason for the zippy interface could be that SQLyog is entirely developed in C/C++, which tends to be faster than other languages when it comes to raw speed. I don’t want to start a flame war here, but our customers seem to like this fact. Using C/C++ allows us to use the native MySQL C client libraries that gives the best performance as compared to other ways of communicating with MySQL. Using C/C++ also ensures that there are no external dependencies on any bulky frameworks and the download file is relatively small.

Although using a language that complies directly to machine instructions helps a lot, but true speed comes from better algorithms. A similar analogy in the MySQL context would be that you might get some benefits from tuning your mysql.cnf/mysql.ini file, but real benefits come only when you find problematic queries in your application and rewrite them and/or create better indexes.

SQLyog uses a set of smart algorithms for its data synchronization tools. These algorithms ensure that we only transfer checksums using multiple threads and do full row transfer only when required. We have an old blog post with some benchmarking results here.

Although our data sync speeds are quite impressive, we were not happy with the results in certain scenarios. This led us to improve the data sync speeds even further with 8.1. We will publish some new benchmarking results soon in our blog.

With 8.1, we have been able to introduce massive speed improvements in the following areas:

  • Data synchronization
  • Auto complete
  • Export as SQL (including Scheduled Backups), CSV and XML

Wait, we are not finished yet with the improvements in 8.1. This release introduces the following major features:

  • Completely revamped Objects tab. The tab has been renamed to “Info”. The contents are now available in nicely formatted HTML in addition to the old text format
  • Direct import of Access, Excel and CSV files. Now you don’t need to create ODBC DSN to import these file types. Just point to the files and SQLyog does the rest

Last but not the least, we continue to improve the usability with every release of SQLyog. With 8.1 we have made the following GUI changes:

  • Added an option to ‘preview SQL’ in CREATE/ALTER TABLE
  • Column width in all GRIDs (not only DATA and RESULT tabs) are now persistent
  • New GUI for defining ENUM and SET columns in Create/Alter GUI
  • Some reorganisations of menus, improved captions and explanations in dialogues and wizards etc

Needless to say, this release contains many bug fixes, UI improvements and minor features.

We are very excited about this release, and hope that you will like it. We would love to hear from you.

For the complete changelogs, please refer to the following posts:

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php

Regards,
Team Webyog


SQLyog 8.1 RC3 Has Been released

peter_laursen

Changes (as compared to 8.1 RC2) include:

Features:
* Improved speed of  ‘backup’ (including  ’scheduled backup’) similar to the improvements in RC2 for ‘export’.

Bug Fixes:
* If a file named ’sja’ or ’sja.exe’ existed in SQLyog ‘AppData’ folder, SJA failed to connect with SSH tunnel. A user reported that such ’shadow copy’ was created periodically. Issue is not fully understood (except that Windows looked for PLINK too in ‘AppData’) but the fix works!
*  Fixed a scrolling issue in Data Sync GRID.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.1 RC2 Has Been released

peter_laursen

Changes (as compared to 8.1 RC1) include:

Features:
* INFO tab/HTML option had added more information.
* The SELECT-part of a CREATE VIEW statement in INFO tab will now be formatted. Also the ‘SQL-preview’ in CREATE/ALTER TABLE dialogue will now be formatted.
* Drastically improved the speed of exports (typically 3-4 times faster). This refer to exports as CSV, XML ,HTML, Excel  XML and SQL. But note: no change with  ‘export as SQL-dump’ and ’scheduled backup’.
* Added ’scheduled backup’ option to Object Browser context menu.
* Some reorganisations of menus, improved captions and explanations in dialogues and wizards etc.

Bug Fixes:
* The dialogue for defining SET/ENUM types introduced in beta1 did not prevent duplicate entries.
* Removed redundant SPACES in CREATE statements.  These SPACES could cause formatting to garble when copying (to a web form for instance).
* Lots of fixes for small (mostly GUI-related) issues reported internally.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.1 RC Has Been released

peter_laursen

Changes (as compared to 8.1 beta 1) include:

Features:
* The caption ‘Migration Toolkit’ was changed to ‘Import External Data’ in menus etc.
* The session.xml file (used by SJA internally) is now not exposed to users in Wizards. The file is created in user’s ‘AppData’ folder when job is invoked from a Wizard. If invoked from command-line files will be created in the folder where the SJA executable is, if not specified differently from command line. The reason for this change is that the two XML files (jobfile and sessionfile) have frequently been confused by users.
* The changes in beta1 were ‘polished’.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/downloads.php


SQLyog 8.1 beta 1 Has Been released

peter_laursen

Changes (as compared to 8.05) include:

Features:
* Added an option to import text/.csv, .xls (Excel) and .mdb (Access) files without without using a preconfigured DSN setting (user only need to specify the file and  ODBC driver details are passed transparently for user). When using this option also detailed column mapping is possible. Also Office2007 formats (.xlsx, .accdb) are supported like this provided that this Microsoft driver set is installed (it is not per default on any Windows version).
* Added an option to ‘preview SQL’ in CREATE/ALTER TABLE.
* OBJECTS tab was renamed to INFO tab. There is now a choice between the (old) text-based display and a new tabular/HTML-based view.
* New GUI for defining ENUM and SET columns in Create/Alter GUI.
* Autocomplete had a complete ‘overhaul’ resulting in better performance.
* Column width in all GRIDs (not only DATA and RESULT tabs) are now persistent.

Bug Fixes:
* Query Profiler would sometimes fail to display the total time in SHOW PROFILE.
* Fixed a painting issue in Schema Designer.
* Fixed a program crash in copy database/table.
* On Win2K and Wine icons will now be 8 bit color depth, as those environments do not support 32 bit color depth icons properly.
* Autocomplete would sometimes erroneously insert a linebreak.
* Query Builder could generate SQL with an ambiguous column (not prefixing columnname with tablename for a PK-column) if the same column name existed in joined tables. This bug was introduced in 8.03.
* When connected to MySQL before 4.1 a string containing special (non-ASCII) characters could be identified as a binary string. Also this bug was introduced in 8.03.
* Autocomplete was not functional within the argument-list of a function.
* ‘empty database’ (from the database menu/context menu) caused Autocomplete to become non-functional for the session.
* Scheduled backup did not handle the “&” character in file and folder names.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog 8.05 Has Been released

peter_laursen

Changes (as compared to 8.04) include:

Features:
* User Management icon was re-introduced in the Icon Bar.
* In DATA and RESULT tab you can now open the BLOB VIEWER for BLOB and TEXT types with any keyboard keystroke (like SPACEBAR). The ‘NOT NULL’ checkbox will then automatically uncheck (if checked) and BLOB VIEWER window is ready for input from the keyboard without any mouse action.

Bug Fixes:
* SQLyog could crash when retrieving binary data over a HTTP-connection.
* Fixed a crash when updating from the RESULT tab (details: a pointer used internally could contain an invalid value).
* When multiple reconnects took place in ‘copy database/table’ with short intervals various issues could occur - including a program crash.
* When Schema Sync CREATED a table having a string column with default ” (empty string) the default was not created for that column (it was no problem if the table on <target> existed in advance and was ALTERED)..
* On MySQL 4.1 and 5.0 SHOW FULL FIELDS does not expose an ON UPDATE CURRENT_TIMESTAMP clause for a TIMESTAMP column . We will now get this information from SHOW CREATE TABLE . The most serious problem before this was that when syncing from 4.1/5.0 to 5.1/6.0 an ON UPDATE CURRENT_TIMESTAMP clause could erroneously be dropped on target.
* Also this release contains a large number of GUI-releated fixes including fixes for painting issues and Object Browser issues related fixes. Also the Object Browser fixes in 8.04 introduced new issues that were now also fixed.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


Next Page »