您好,登錄后才能下訂單哦!
這篇文章主要講解了“MySQL 8新特性有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL 8新特性有哪些”吧!
授權表現在是Innodb表,以前都是MyISAM這會活得以下好處:
同時更改多個用戶的時候可能某些成功某些失敗。沒有原子性
現在有原子性要么都成功要么都失敗。13.1.1
默認認證插件為caching_sha2_password,性能更好更安全 6.4.1.3
支持角色 6.2.10
資源管理器 8.12.5
Innodb 增強
自增字段修改加入redo 持久化
如果修改的值大于自增則持久化
innodb_deadlock_detect可以關閉死鎖檢測
INFORMATION_SCHEMA.INNODB_CACHED_INDEXES可以查看緩存的數據
支持for update nowait操作
innodb使用mysql的數據字典 14
臨時表存放到ibtmp1目錄
分區表使用native,支持online DDL
mysql系統表和變量現在放到innodb tablespace中叫做mysql.ibd
innodb_undo_log_truncate默認開啟
innodb_rollback_segments參數含義,從全局變為每個undo表空間
innodb_max_dirty_pages_pct_lwm參數默認值修改為10
innodb_max_dirty_pages_pct從75增加到90
innodb_auto_lock_mode默認設置為2,自增鎖降低
innodb_dedicated_server參數加入,默認是OFF,開啟用于自動配置一些參數,包含:
innodb_buffer_pool_size
innodb_log_file_size
innodb_flush_method
INFORMATION_SCHEMA.INNODB_TABLESPACES_BRIEF視圖可以查看表空間類型
Innodb支持原子性DDL
SDI加入Serialized dictionary information (SDI) ,除了臨時文件和UNDO表空間,其他數據
文件都包含,SDI 數據是一個容易的表元數據,用于在數據字典損壞的情況下直接從表空間中
抽取元數據,是壓縮格式JSON
redo 記錄優化
開啟獨占的redo寫線程
用戶線程將臟數據寫入flush list使用relaxed order
新參數加入
innodb_log_wait_for_flush_spin_hwm:定義最大平均日志寫入時間 innodb_log_spin_cpu_abs_lwm:定義最小CPU使用總數 innodb_log_spin_cpu_pct_hwm:定義最大CPU使用總數
這3個參數需要再研究
innodb_log_buffer_size:可動態修改回收內存
undo 日志對 small LOB data支持 8.0.12
瞬間增加字段支持,算法為ALGORITHM=INSTANT,優先使用INSTANT算法
新增temptable存儲引擎用于參數internal_tmp_mem_storage_engine參數,允許的值包含
temptable 默認,memory是以前的。8.0.13支持blob數據類型
關閉參數innodb_buffer_pool_in_core_file
8.0.13用戶建立的臨時表和內部臨時表存儲在臨時表空間中,當session斷開的時候
ibtmp1將會釋放,但是不會將磁盤空間反還給操作系統,新增參數 innodb_temp_tablespaces_dir
設置為#innodb_tmp 當session斷開的時候將會截斷然后將空間釋放到pool中,反還給
操作系統。
innodb_dedicated_server 可以動態分配部分參數 8.0.14
innodb_buffer_pool_size
innodb_log_file_size
innodb_flush_method
innodb_parallel_read_threads參數并行進行聚集索引掃描用于優化check table性能
如果超過temptable_max_ram內存大小將會使用臨時文件或者innodb 表,默認使用mmap進行映射文件使用 temptable_use_mmap進行控制。新增的臨時表引擎temptable和老的memory作為對比老的還是tmp_table_size or max_heap_table_size的大值
innodb_spin_wait_pause_multiplier 參數加入
innodb_parallel_read_threads 參數控制并發執行
字符集變化
默認的字符集使用utf8mb4而不是latin1,包含新增的校驗字符集utf8mb4_ja_0900_as_cs
優化器增強
不可見索引
降序索引
函數索引
類型返回檢測
比如c是一個TINYINT UNSIGNED 占用1字節最大255條件使用c < 256 恒成立,如果
c >= 255轉換為c=255
8.0.16 半連接支持EXISTS子查詢
8.0.17 反半連接支持not in/not EXISTS
WITH AS語法支持
開窗函數
RANK(), LAG(), NTILE()
配置管理端口
如果達到 max_connections設置連接管理端口進行管理
需要配置admin_address為IP值,默認不開啟
需要配置admin_port端口默認33062
沒有連接限制
需要SERVICE_CONNECTION_ADMIN權限
8.0.17 innodb歸檔支持
8.0.17 innodb克隆插件
hostname支持上限從60到255
感謝各位的閱讀,以上就是“MySQL 8新特性有哪些”的內容了,經過本文的學習后,相信大家對MySQL 8新特性有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。