自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文看懂MYSQL8 vs MYSQL5.7增加了哪些特性

新聞 數(shù)據(jù)庫(kù)
最近部分項(xiàng)目要上Mysql8.0 ,故從官網(wǎng)整理一下mysql8相比mysql5.7增加的一些特性,僅供參考。

 概述

最近部分項(xiàng)目要上Mysql8.0 ,故從官網(wǎng)整理一下mysql8相比mysql5.7增加的一些特性,僅供參考。

一文看懂Mysql8 vs Mysql5.7增加了哪些特性

一、新的系統(tǒng)字典表

整合了存儲(chǔ)有關(guān)數(shù)據(jù)庫(kù)對(duì)象信息的事務(wù)數(shù)據(jù)字典,所有的元數(shù)據(jù)都用InnoDB引擎進(jìn)行存儲(chǔ)

二、安全和用戶管理

  1. 新增caching_sha2_password認(rèn)證插件,并且是默認(rèn)的身份認(rèn)證插件。性能和安全方面加強(qiáng)
  2. 權(quán)限支持role
  3. 新增密碼歷史記錄功能,限制重復(fù)使用以前的密碼

三、 innodb 增強(qiáng)

  1. 新增INFORMATION_SCHEMA.INNODB_CACHED_INDEXES,查看每個(gè)索引緩存在InnoDB緩沖池中的索引頁(yè)數(shù)
  2. InnoDB臨時(shí)表都將在共享臨時(shí)表空間ibtmp1中創(chuàng)建
  3. 對(duì)于SELECT ... FOR SHARE和SELECT ... FOR UPDATE語(yǔ)句,InnoDB支持NOWAIT和SKIP LOCKED
  4. innodb_undo_tablespaces的最小值為2,并且不再允許將innodb_undo_tablespaces設(shè)置為0。 最小值2確?;貪L段始終在撤消表空間中創(chuàng)建,而不是在系統(tǒng)表空間中創(chuàng)建
  5. 支持 ALTER TABLESPACE ... RENAME TO 語(yǔ)法
  6. 新增INFORMATION_SCHEMA.INNODB_TABLESPACES_BRIEF視圖
  7. 新增了動(dòng)態(tài)配置項(xiàng) innodb_deadlock_detect,用來禁用死鎖檢查,因?yàn)樵诟卟l(fā)系統(tǒng)中,當(dāng)大量線程等待同一個(gè)鎖時(shí),死鎖檢查會(huì)大大拖慢數(shù)據(jù)庫(kù)
  8. 支持使用innodb_directories選項(xiàng)在服務(wù)器脫機(jī)時(shí)將表空間文件移動(dòng)或恢復(fù)到新位置
  9. 新增innodb_dedicated_server,讓InnoDB根據(jù)服務(wù)器上檢測(cè)到的內(nèi)存量自動(dòng)配置innodb_buffer_pool_size,innodb_log_file_size,innodb_flush_method。當(dāng)innodb_dedicated_server啟用時(shí),InnoDB根據(jù)服務(wù)器上檢測(cè)到的內(nèi)存量自動(dòng)配置以下選項(xiàng):
  10. innodb_dedicated_server:自動(dòng)配置緩沖池大小

四、MySQL 8.0更好支持文檔型數(shù)據(jù)庫(kù)和JSON

不可見索引,開始支持invisible index,在優(yōu)化SQL的過程中可以設(shè)置索引為不可見,優(yōu)化器不會(huì)利用不可見索引

支持降序索引,可以對(duì)索引定義 DESC,之前,索引可以被反序掃描,但影響性能,而降序索引就可以高效的完成

支持RANK(), LAG()、NTILE()等函數(shù)

正則表達(dá)式增強(qiáng),提供了REGEXP_LIKE(),EGEXP_INSTR(), REGEXP_REPLACE(), REGEXP_SUBSTR()等函數(shù)

新增備份鎖,允許在線備份期間的DML,同時(shí)防止可能導(dǎo)致快照不一致的操作。 備份鎖由LOCK INSTANCE FOR BACKUP和UNLOCK INSTANCE語(yǔ)法支持

默認(rèn)字符集由latin1變?yōu)閡tf8mb4

五、配置文件增強(qiáng)

MySQL 8.0版本支持在線修改全局參數(shù)持久化,通過加上PERSIST關(guān)鍵字,可以將調(diào)整持久化到新的配置文件中,再次重啟db還可以應(yīng)用到最新的參數(shù)。對(duì)于加上 PERSIST 關(guān)鍵字修改參數(shù)命令,MySQL系統(tǒng)會(huì)生成一個(gè)包含json格式數(shù)據(jù)的 mysqld-auto.cnf 文件,比如執(zhí)行:

set PERSIST binlog_expire_logs_seconds = 604800 ; #內(nèi)存和json文件都修改,重啟還生效

set GLOBAL binlog_expire_logs_seconds = 604800 ; #只修改內(nèi)存,重啟丟失

系統(tǒng)會(huì)在數(shù)據(jù)目錄下生成一個(gè)包含如下內(nèi)容的 mysqld-auto.cnf 的文件:

{ "mysql_server": {" binlog_expire_logs_seconds ": "604800" } }

當(dāng) my.cnf 和 mysqld-auto.cnf 同時(shí)存在時(shí),后者具有高優(yōu)先級(jí)。

六、直方圖

MySQL 8.0 版本開始支持期待已久直方圖。優(yōu)化器會(huì)利用column_statistics的數(shù)據(jù),判斷字段的值的分布,得到更準(zhǔn)確的執(zhí)行計(jì)劃。

可以使用 ANALYZE TABLE table_name [UPDATE HISTOGRAM on col_name with N BUCKETS |DROP HISTOGRAM ON clo_name] 來收集或者刪除直方圖信息

支持會(huì)話級(jí)別SET_VAR 動(dòng)態(tài)調(diào)整部分參數(shù),有利于提升語(yǔ)句性能。

參考select /*+ SET_VAR(sort_buffer_size = 16M) */ id from test order id ;
insert /*+ SET_VAR(foreign_key_checks=OFF) */ into test(name) values(1);

七、InnoDB性能提升

廢除buffer pool mutex, 將原來一個(gè)mutex拆分成多個(gè),提高并發(fā)拆分LOCK_thd_list 和 LOCK_thd_remove 這兩個(gè)mutex,大約可提高線程鏈接效率5%。

1、行緩存

MySQL8.0的優(yōu)化器可以估算將要讀取的行數(shù),因此可以提供給存儲(chǔ)引擎一個(gè)合適大小的row buffer來存儲(chǔ)需要的數(shù)據(jù)。大批量的連續(xù)數(shù)據(jù)掃描的性能將受益于更大的record buffer。

2、改進(jìn)掃描性能

改進(jìn)InnoDB范圍查詢的性能,可提升全表查詢和范圍查詢 5-20%的性能。

3、成本模型

InnoDB緩沖區(qū)可以估算緩存區(qū)中的有多少表和索引,這可以讓優(yōu)化器選擇訪問方式時(shí)知道數(shù)據(jù)是否可以存儲(chǔ)在內(nèi)存中還是必須存儲(chǔ)到磁盤上。

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2023-11-02 08:44:58

2020-03-31 14:40:24

HashMap源碼Java

2020-05-15 19:25:09

HTML5JavaScript前端

2021-02-02 16:34:12

useMemo性能優(yōu)化函數(shù)

2010-10-19 11:30:16

IT培訓(xùn)

2016-08-18 00:21:12

網(wǎng)絡(luò)爬蟲抓取網(wǎng)絡(luò)

2024-08-12 12:30:27

2020-11-03 14:50:18

CentOSMySQL 8.0數(shù)去庫(kù)

2021-07-29 10:39:50

MySQLMySQL5.7MySQL8

2012-04-30 20:44:55

2025-01-20 09:15:00

iOS 18.3蘋果iOS 18

2021-08-02 06:56:19

TypeScript編程語(yǔ)言編譯器

2023-07-03 08:20:35

MySQL窗口函數(shù)

2019-07-01 09:22:15

Linux操作系統(tǒng)硬件

2019-05-22 09:50:42

Python沙箱逃逸網(wǎng)絡(luò)攻擊

2019-09-11 09:37:17

數(shù)據(jù)庫(kù)MySQL系統(tǒng)

2015-07-17 13:27:16

MySQL 5.7

2009-06-11 17:18:23

EJB3.1Singleton B

2023-01-16 18:22:53

Discourse開源

2015-10-19 17:36:19

MOST內(nèi)核Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)