Connection Compression with X Plugin From MySQL 8.0.19, X Plugin supports compression of messages sent over X Protocol connections. Connections can be compressed if the server and the client agree on a mutually supported compression algorithm. Enabling compression reduces the number of bytes sent over the network, but adds to the server and client an additional CPU cost for compression and decompression operations. The benefits of compression therefore occur primarily when there is low network bandwidth, network transfer time dominates the cost of compression and decompression operations, and result sets are large. Different MySQL clients implement support for connection compression differently; consult your client documentation for details. For example, for classic MySQL protocol connections, see Section 4.2.8, “Connection Compression Control” . By default, X Plugin supports the zstd, LZ4, and Deflate compression algorithms. Compression with the Deflate algorithm is carried out using the zlib software library, so the  deflate_stream  compression algorithm setting for X Protocol connections is equivalent to the  zlib  setting for classic MySQL protocol connections. On the server side, you can disallow any of the compression algorithms by setting the mysqlx_compression_algorithms  system variable to include only those permittted. The algorithm names  zstd_stream ,  lz4_message , and  deflate_stream  can be specified in any combination, and the order and lettercase are not important. If the system variable value is the empty string, no compression algorithms are permitted and connections are uncompressed. The following table compares the characteristics of the different compression algorithms and shows their assigned priorities. By default, the server chooses the highest-priority algorithm permitted in common by the server and the client; clients may change the priorities as described later. The short form alias for the algorithms can be used by clients when specifying them. The X Protocol set of permitted compression algorithms (whether user-specified or default) is independent of the set of compression algorithms permitted by MySQL Server for classic MySQL protocol connections, which is specified by the  protocol_compression_algorithms  server system variable. If you do not specify the  mysqlx_compression_algorithms  system variable, X Plugin does not fall back to using compression settings for classic MySQL protocol connections. Instead, its default is to permit all algorithms shown in Table 20.1, “X Protocol Compression Algorithm Characteristics” . This is unlike the situation for the TLS context, where MySQL Server settings are used if the X Plugin system variables are not set, as described in Section 20.5.3, “Using Encrypted Connections with X Plugin” . For information about compression for classic MySQL protocol connections, see Section 4.2.8, “Connection Compression Control” . 3888 Algorithm Alias Compression Ratio Throughput CPU Cost Default Priority zsth_stream zstd High High Medium First lz4_message lz4 Low High Lowest Second deflate_stream deflate High Low Highest Third Table 20.1 X Protocol Compression Algorithm Characteristics Configuring Connection Compression for X Plugin Note •Configuring Connection Compression for X Plugin •Compressed Connection Characteristics for X Plugin •Monitoring Connection Compression for X Plugin