MariaDB 10.2 首个 GA 10.2.6 发布了。新版采用 InnoDB 为默认存储引擎,更多更新如下:
新版本特性
InnoDB as default
InnoDB is now the default storage engine. Until MariaDB 10.1, MariaDB used the XtraDB storage engine as default
Syntax / general features
MyRocks alpha storage engine added (MDEV-9658)
Window functions have been introduced.
The SHOW CREATE USER statement was introduced
New CREATE USER options for limiting resource usage and tls/ssl
New ALTER USER statement
Recursive Common Table Expressions (MDEV-9864)
New WITH statement.WITHis a common table expression that allows you to refer to a subquery expression many times in a query (MDEV-8308 & MDEV-9864) — Original code from Galina Shalygina
Support for CHECK CONSTRAINT (MDEV-7563)
Support for DEFAULT with expressions (MDEV-10134)
BLOB and TEXT fields can now have aDEFAULTvalue
Lots of restrictions lifted for Virtual computed columns
Number of supported decimals in DECIMAL has increased from30to38(MDEV-10138)
Added catchall for list partitions (MDEV-8348)
Oracle-style EXECUTE IMMEDIATE statement (MDEV-10585)
PREPARE Statement now understands most expressions (MDEV-10866)
InnoDB tables now support spatial indexes
ed25519 authentication plugin (MDEV-12160)
Better InnoDB crash recovery progress reporting (MDEV-11027)
Improvements to InnoDB startup/shutdown to make it more robust
AWS Key Management plugin added for Windows, CentOS, RHEL, and Fedora packages
Triggers
Multiple triggers for the same event (MDEV-6112)
The FOLLOWS/PRECEDES clauses have been added to the CREATE TRIGGER statement
Multiple triggers are now counted in the Executed_triggers status variable (MDEV-10915)
SHOW TRIGGERS and SHOW CREATE TRIGGER now include the date and time the trigger was created
Replication / binary log
DML_only flashback can rollback instances/databases/tables to an old snapshot (MDEV-10570)
New variable read_binlog_speed_limit permits restricting the speed at which the slave reads the binlog from the master (MDEV-11064) — Original code from Tencent Game DBA Team, developed by chouryzhou.
Delayed replication is supported (MDEV-7145)
Compression of events in the binary log is supported (MDEV-11065) — Original code from Tencent Game DBA Team, developed by vinchen.
Default binary log format changed to mixed (MDEV-7635)
Default value of replicate_annotate_row_events changed toON(MDEV-7635)
Default value of slave_net_timeout reduced to 60 seconds (MDEV-7635)
Default server_id changed from0to1
GeoJSON / JSON
JSON functions added (MDEV-9143)
Implement ST_AsGeoJSON and ST_GeomFromGeoJSON functions so the spatial features can be imported/exported using GeoJSON format (MDEV-11042)
Information Schema
An information schema plugin to report all user variables, which creates the Information Schema USER_VARIABLES Table (MDEV-7331)
EXPLAIN
EXPLAIN FORMAT=JSON now showsouter_ref_conditionfield which contains the condition that the(?) SELECT checks on each re-execution (MDEV-9652)
EXPLAN FORMAT=JSON now showssort_keyfield which shows the sort criteria used byfilesortoperation. (commit 2078392)
EXPLAIN used to show incorrect information about how the optimizer resolvedORDER BYclause orDistinct. This was a long-standing problem with roots back in MySQL. Now, after MDEV-8646 and related fixes, the problem doesn't exist anymore. (For test cases, see MDEV-7982, MDEV-8857, MDEV-7885, MDEV-326)
Optimizations
Connection setup was made faster by moving creation of THD to new thread (MDEV-6150)
Pushdown conditions into non-mergeable views/derived tables (MDEV-9197) — Original code from Galina Shalygina
ANALYZE TABLE has been re-implemented so as not to lock the entire table when collecting engine independent statistics (MDEV-7901)
Internal CRC32 routines use the optimized implementation on Power8 — MDEV-9872
Table cache can automatically partition itself as needed to reduce the contention (MDEV-10296)
Compatibility
NO PAD collations, which means that end space are significant in comparisons (MDEV-9711) — Original code from Daniil Medvedev
MariaDB now works when started with a MySQL 5.7.6+ data directory (MDEV-11170)
CONNECT
Zipped File Tables for the CONNECT storage engine (MDEV-11295)
The CONNECT engine now supports the JDBC Table type (MDEV-9765)
System variables
For a list of all new variables, see System Variables Added in MariaDB 10.2 and Status Variables Added in MariaDB 10.2. These include:
aria_recover has been renamed to aria_recover_options (MDEV-8542)
Default values of the aria_recover and myisam_recover_options system variables changed toBACKUP,QUICK
The server version can now be faked to work around dated applications that require a particular version string (MDEV-7780
slave_parallel_workers is now an alias for slave_parallel_threads
New status variables com_alter_user, com_multi and com_show_create_user
New variable for setting a directory for storing temporary non-tablespace InnoDB files, innodb_tmpdir
New variable read_binlog_speed_limit permits restricting the speed at which the slave reads the binlog from the master (MDEV-11064)
innodb_log_files_in_group can now be set to1(MDEV-12061)
The thread pool now gives higher priority to connections that have an active transaction. This can be controlled with the new thread_pool_prio_kickup_timer and thread_pool_priority system variables. (MDEV-10297)
Default value of group_concat_max_len changed to 1M (MDEV-7635)
Default value of innodb_compression_algorithm changed tozlib- this does not mean pages are now compressed by default, see compression (MDEV-11838)
Default value of innodb_log_compressed_pages changed toON(MDEV-7635)
Default value of innodb_use_atomic_writes and innodb_use_trim changed toON
The unused innodb_api_* variables have been removed (MDEV-12050)
New status variables
innodb_have_punch_hole
innodb_pages0read
innodb_scrub_log
innodb_encryption_num_key_requests
Scripts
Continuous binary log backup has been added to mysqlbinlog (MDEV-8713)
mysql_zap and mysqlbug have been removed (MDEV-7376, MDEV-8654)
Other changes
Added support for OpenSSL 1.1 and LibreSSL (MDEV-10332)
Persistent AUTO_INCREMENT for InnoDB (MDEV-6076)
Support COM_RESET_CONNECTION (MDEV-10340)
"fast mutexes" have been removed. These aren't faster than normal mutexes, and have been disabled by default for years (MDEV-8111)
Old GPL client library is gone; now MariaDB Server comes with the LGPL Connector/C client library (MDEV-9055)
文章转载自 开源中国社区[https://www.oschina.net]