Features Added in MySQL 8.0 derived tables make possible certain SQL operations that cannot be done with nonlateral derived tables or that require less-efficient workarounds. See Section 13.2.11.9, “Lateral Derived Tables” . MySQL now provides more control over the use of compression to minimize the number of bytes sent over connections to the server. Previously, a given connection was either uncompressed or used the  zlib  compression algorithm. Now, it is also possible to use the  zstd  algorithm, and to select a compression level for  zstd  connections. The permitted compression algorithms can be configured on the server side, as well as on the connection-origination side for connections by client programs and 28 • Connection management.   MySQL Server now permits a TCP/IP port to be configured specifically for administrative connections. This provides an alternative to the single administrative connection that is permitted on the network interfaces used for ordinary connections even when  max_connections connections are already established. See Section 5.1.12.1, “Connection Interfaces” . •MySQL Replication now supports binary logging of partial updates to JSON documents using a compact binary format, saving space in the log over logging complete JSON documents. Such compact logging is done automatically when statement-based logging is in use, and can be enabled by setting the new  binlog_row_value_options  system variable to  PARTIAL_JSON . For more information, see Partial Updates of JSON Values, as well as the description of binlog_row_value_options . • Replication.   The following enhancements have been made to MySQL Replication: • Backup lock.   A new type of backup lock permits DML during an online backup while preventing operations that could result in an inconsistent snapshot. The new backup lock is supported by  LOCK INSTANCE FOR BACKUP  and  UNLOCK INSTANCE  syntax. The  BACKUP_ADMIN  privilege is required to use these statements. • Logging.   Error logging was rewritten to use the MySQL component architecture. Traditional error logging is implemented using built-in components, and logging using the system log is implemented as a loadable component. In addition, a loadable JSON log writer is available. To control which log components to enable, use the  log_error_services  system variable. For more information, see Section 5.4.2, “The Error Log” . • Internal temporary tables.   The  TempTable  storage engine replaces the  MEMORY  storage engine as the default engine for in-memory internal temporary tables. The  TempTable  storage engine provides efficient storage for  VARCHAR  and  VARBINARY  columns. The  internal_tmp_mem_storage_engine session variable defines the storage engine for in-memory internal temporary tables. Permitted values are  TempTable  (the default) and  MEMORY . The  temptable_max_ram  variable defines the maximum amount of memory that the  TempTable  storage engine can use before data is stored to disk. • Regular expression support.   Previously, MySQL used the Henry Spencer regular expression library to support regular expression operators ( REGEXP ,  RLIKE ). Regular expression support has been reimplemented using International Components for Unicode (ICU), which provides full Unicode support and is multibyte safe. The  REGEXP_LIKE()  function performs regular expression matching in the manner of the  REGEXP  and  RLIKE  operators, which now are synonyms for that function. In addition, the REGEXP_INSTR() ,  REGEXP_REPLACE() , and  REGEXP_SUBSTR()  functions are available to find match positions and perform substring substitution and extraction, respectively. The  regexp_stack_limit and  regexp_time_limit  system variables provide control over resource consumption by the match engine. For more information, see Section 12.8.2, “Regular Expressions” . For information about ways in which applications that use regular expressions may be affected by the implementation change, see Regular Expression Compatibility Considerations. • Aliases in single-table DELETE statements.   In MySQL 8.0.16 and later, single-table  DELETE statements support the use of table aliases.