MySQL 8.0新特性全面认识(2)

MySQL8.0的优化器可以估算将要读取的行数,因此可以提供给存储引擎一个合适大小的row buffer来存储需要的数据。大批量的连续数据扫描的性能将受益于更大的record buffer

18、改进扫描性能

改进InnoDB范围查询的性能,可提升全表查询和范围查询 5-20%的性能。

19、成本模型

InnoDB缓冲区可以估算缓存区中的有多少表和索引,这可以让优化器选择访问方式时知道数据是否可以存储在内存中还是必须存储到磁盘上。

20、重构SQL分析器

改进SQL分析器。旧的分析器由于其语法复杂性和自顶向下的分析方式从而有严重的限制,导致难以维护和扩展。

二、MySQL 8.0中被废弃的特性

废弃validate_password 插件

废弃ALTER TABLESPACE和DROP TABLESPACE ENGINE子句

废弃JSON_MERGE()  -> JSON_MERGE_PRESERVE()取代

废弃 have_query_cache 系统变量

三、MySQL 8.0被移除的功能

query cache 功能被移除,相关的系统变量也被移除

mysql_install_db  被 mysqld --initialize or --initialize-insecure 替代

INFORMATION_SCHEMA下的INNODB_LOCKS和INNODB_LOCK_WAITS表已被删除。 用Performance Schema data_locks和data_lock_waits表替代

INFORMATION_SCHEMA下的四张表移除:GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS

InnoDB不再支持压缩的临时表。

不再支持 PROCEDURE ANALYSE()语法

Renamed InnoDB Information Schema Views
Old Name                                        New Name
INNODB_SYS_COLUMNS              INNODB_COLUMNS
INNODB_SYS_DATAFILES              INNODB_DATAFILES
INNODB_SYS_FIELDS                    INNODB_FIELDS
INNODB_SYS_FOREIGN                     INNODB_FOREIGN
INNODB_SYS_FOREIGN_COLS      INNODB_FOREIGN_COLS
INNODB_SYS_INDEXES                     INNODB_INDEXES
INNODB_SYS_TABLES                     INNODB_TABLES
INNODB_SYS_TABLESPACES            INNODB_TABLESPACES
INNODB_SYS_TABLESTATS             INNODB_TABLESTATS
INNODB_SYS_VIRTUAL                    INNODB_VIRTUAL

remove的server选项:

--temp-pool
--ignore-builtin-innodb
--des-key-file
--log-warnings
--ignore-db-dir 

remove的配置选项:

innodb_file_format
innodb_file_format_check
innodb_file_format_max
innodb_large_prefix

remove的系统变量

information_schema_stats  ->information_schema_stats_expiry
ignore_builtin_innodb
innodb_support_xa
show_compatibility_56
have_crypt
date_format
datetime_format
time_format
max_tmp_tables
global.sql_log_bin(session.sql_log_bin保留)
log_warnings ->log_error_verbosity
multi_range_count
secure_auth
sync_frm
tx_isolation -> transaction_isolation
tx_read_only -> transaction_read_only
ignore_db_dirs
query_cache_limit
query_cache_min_res_unit
query_cache_size
query_cache_type
query_cache_wlock_invalidate
innodb_undo_logs -->innodb_rollback_segments

remove的状态变量

Com_alter_db_upgrade
Slave_heartbeat_period
Slave_last_heartbeat
Slave_received_heartbeats
Slave_retried_transactions, Slave_running
Qcache_free_blocks
Qcache_free_memory
Qcache_hits
Qcache_inserts
Qcache_lowmem_prunes
Qcache_not_cached
Qcache_queries_in_cache
Qcache_total_blocks
Innodb_available_undo_logs status

remove的函数

JSON_APPEND() --> JSON_ARRAY_APPEND()

ENCODE()

DECODE()

DES_ENCRYPT()

DES_DECRYPT()

remove的client选项:

--ssl  --ssl-verify-server-cert 被删除,用--ssl-mode=VERIFY_IDENTITY |REQUIRED |DISABLED 替代

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2852a8ef92338a1bbc64080d2d97f262.html