Unsupported Screen Size: The viewport size is too small for the theme to render properly.

Feature Request: Enable Compression Protocol

forums forums SQLyog SQLyog: Bugs / Feature Requests Feature Request: Enable Compression Protocol

  • This topic is empty.
Viewing 2 reply threads
  • Author
    Posts
    • #10306
      Graycode
      Member

      I modified my copy of Community 5.29 to enable the communications compression that's built into MySQL. WOW, that really made a very big difference for us.

      Exporting one of our databases to SQL file required 60MB of TCP data transmission with the unmodified SQLyog Community 5.29. That same database needed only 15MB of transmission using a modified program with the compression protocol enabled. Accordingly, it took much less elapsed time to retrieve that data. Other use of SQLyog also seem more responseive, perhaps because the request & response are being transmitted accross the TCP link faster.

      The compression option may not be useful if the database is on the same PC as the user, or if the DB server is overly burdned by heavy usage. As I understand it, the compression option is negotiated by MySQL when a connection is initially being established, and remains transparent to the application thereafter.

      This Feature Request is to add an option on the SQLyog connection dialog to provide a choice of whether or not to enable use of the compression protocol. It would be great if that option state is saved as an attribute of the configuration along with the server location and user authentication.


      To enable SQLyog to use the MySQL compression protocol, I changed 2 lines in ClientMySQLWrapper.cpp within the function sja_mysql_real_connect().

      Where the 2 lines of code currently contain:

      , clientflag | CLIENT_MULTI_RESULTS,

      I changed to:

      , clientflag | CLIENT_MULTI_RESULTS | CLIENT_COMPRESS,

      There is also a place within TunnelCommunity.cpp, the TunnelCommunity::mysql_real_connect() method to specify the CLIENT_COMPRESS connection option.


      Thank you for providing such a very useful product!

    • #23860
      peterlaursen
      Participant

      unoubtedly compression is useful with big exports and imports to/from remote servers (as your own example shows).  For the common use of the GUI functionality I do not think it make any notable difference.

      We will discuss this next week.

    • #23861
      Graycode
      Member

      Any more thoughts on enabling the built-in MySQL compression?

      It makes a big difference for exports, queries, etc. on non-local databases.

Viewing 2 reply threads
  • You must be logged in to reply to this topic.