日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解MySQL 8.0 之不可見(jiàn)索引

瀏覽:61日期:2023-10-10 10:14:39

MySQL 8.0 從第一版release 到現(xiàn)在已經(jīng)走過(guò)了4個(gè)年頭了,8.0版本在功能和代碼上做了相當(dāng)大的改進(jìn)和重構(gòu)。和DBA圈子里的朋友交流,大部分還是5.6 ,5.7的版本,少量的走的比較靠前采用了MySQL 8.0。為了緊追數(shù)據(jù)庫(kù)發(fā)展的步伐,能夠盡早享受技術(shù)紅利,我們準(zhǔn)備將MySQL 8.0引入到有贊的數(shù)據(jù)庫(kù)體系。

落地之前 我們會(huì)對(duì)MySQL 8.0的新特性和功能,配置參數(shù),升級(jí)方式,兼容性等等做一系列的學(xué)習(xí)和測(cè)試。以后陸陸續(xù)續(xù)會(huì)發(fā)布文章出來(lái)。本文算是MySQL 8.0新特性學(xué)習(xí)的第一篇吧,聊聊 不可見(jiàn)索引。

不可見(jiàn)索引

不可見(jiàn)索引中的不可見(jiàn)是針對(duì)優(yōu)化器而言的,優(yōu)化器在做執(zhí)行計(jì)劃分析的時(shí)候(默認(rèn)情況下)是會(huì)忽略設(shè)置了不可見(jiàn)屬性的索引。

為什么是默認(rèn)情況下,如果 optimizer_switch設(shè)置use_invisible_indexes=ON 是可以繼續(xù)使用不可見(jiàn)索引。

話不多說(shuō),我們先測(cè)試幾個(gè)例子

如何設(shè)置不可見(jiàn)索引

我們可以通過(guò)帶上關(guān)鍵字VISIBLE|INVISIBLE的create table,create index,alter table 設(shè)置索引的可見(jiàn)性。

mysql> create table t1 (i int, > j int, > k int, > index i_idx (i) invisible) engine=innodb;Query OK, 0 rows affected (0.41 sec)mysql> create index j_idx on t1 (j) invisible;Query OK, 0 rows affected (0.19 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> alter table t1 add index k_idx (k) invisible;Query OK, 0 rows affected (0.10 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> select index_name,is_visible from information_schema.statistics where table_schema=’test’ and table_name=’t1’;+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| i_idx | NO || j_idx | NO || k_idx | NO |+------------+------------+3 rows in set (0.01 sec)mysql> alter table t1 alter index i_idx visible;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> select index_name,is_visible from information_schema.statistics where table_schema=’test’ and table_name=’t1’;+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| i_idx | YES || j_idx | NO || k_idx | NO |+------------+------------+3 rows in set (0.00 sec)

不可見(jiàn)索引的作用

面對(duì)歷史遺留的一大堆索引,經(jīng)過(guò)數(shù)輪新老交替開(kāi)發(fā)和DBA估計(jì)都不敢直接將索引刪除,尤其是遇到比如大于100G的大表,直接刪除索引會(huì)提升數(shù)據(jù)庫(kù)的穩(wěn)定性風(fēng)險(xiǎn)。

有了不可見(jiàn)索引的特性,DBA可以一邊設(shè)置索引為不可見(jiàn),一邊觀察數(shù)據(jù)庫(kù)的慢查詢記錄和thread running 狀態(tài)。如果數(shù)據(jù)庫(kù)長(zhǎng)時(shí)間沒(méi)有相關(guān)慢查詢 ,thread_running比較穩(wěn)定,就可以下線該索引。反之,則可以迅速將索引設(shè)置為可見(jiàn),恢復(fù)業(yè)務(wù)訪問(wèn)。

Invisible Indexes 是 server 層的特性,和引擎無(wú)關(guān),因此所有引擎(InnoDB, TokuDB, MyISAM, etc.)都可以使用。

設(shè)置完不可見(jiàn)索引,執(zhí)行計(jì)劃無(wú)法使用索引

mysql> show create table t2 G*************************** 1. row *************************** Table: t2Create Table: CREATE TABLE `t2` ( `i` int NOT NULL AUTO_INCREMENT, `j` int NOT NULL, PRIMARY KEY (`i`), UNIQUE KEY `j_idx` (`j`) /*!80000 INVISIBLE */) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 row in set (0.01 sec)mysql> insert into t2(j) values(1),(2),(3),(4),(5),(6),(7);Query OK, 7 rows affected (0.04 sec)Records: 7 Duplicates: 0 Warnings: 0mysql> explain select * from t2 where j=3G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t2 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 7 filtered: 14.29 Extra: Using where1 row in set, 1 warning (0.01 sec)mysql> alter table t2 alter index j_idx visible;Query OK, 0 rows affected (0.08 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> explain select * from t2 where j=3G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t2 partitions: NULL type: constpossible_keys: j_idx key: j_idx key_len: 4 ref: const rows: 1 filtered: 100.00 Extra: Using index1 row in set, 1 warning (0.01 sec)

使用不可見(jiàn)索引的注意事項(xiàng)

The feature applies to indexes other than primary keys (either explicit or implicit).

不可見(jiàn)索引是針對(duì)非主鍵索引的。主鍵不能設(shè)置為不可見(jiàn),這里的 主鍵 包括顯式的主鍵或者隱式主鍵(不存在主鍵時(shí),被提升為主鍵的唯一索引) ,我們可以用下面的例子展示該規(guī)則。

mysql> create table t2 ( >i int not null, >j int not null , >unique j_idx (j) >) ENGINE = InnoDB;Query OK, 0 rows affected (0.16 sec)mysql> select index_name,is_visible from information_schema.statistics where table_schema=’test’ and table_name=’t2’;+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| j_idx | YES |+------------+------------+1 row in set (0.00 sec)### 沒(méi)有主鍵的情況下,唯一鍵被當(dāng)做隱式主鍵,不能設(shè)置 不可見(jiàn)。mysql> alter table t2 alter index j_idx invisible;ERROR 3522 (HY000): A primary key index cannot be invisiblemysql>mysql> alter table t2 add primary key (i);Query OK, 0 rows affected (0.44 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> select index_name,is_visible from information_schema.statistics where table_schema=’test’ and table_name=’t2’;+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| j_idx | YES || PRIMARY | YES |+------------+------------+2 rows in set (0.01 sec)mysql> alter table t2 alter index j_idx invisible;Query OK, 0 rows affected (0.04 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> select index_name,is_visible from information_schema.statistics where table_schema=’test’ and table_name=’t2’;+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| j_idx | NO || PRIMARY | YES |+------------+------------+2 rows in set (0.01 sec)

force /ignore index(index_name) 不能訪問(wèn)不可見(jiàn)索引,否則報(bào)錯(cuò)。

mysql> select * from t2 force index(j_idx) where j=3;ERROR 1176 (42000): Key ’j_idx’ doesn’t exist in table ’t2’

設(shè)置索引為不可見(jiàn)需要獲取MDL鎖,遇到長(zhǎng)事務(wù)會(huì)引發(fā)數(shù)據(jù)庫(kù)抖動(dòng)

唯一索引被設(shè)置為不可見(jiàn),不代表索引本身唯一性的約束失效

mysql> select * from t2;+---+----+| i | j |+---+----+| 1 | 1 || 2 | 2 || 3 | 3 || 4 | 4 || 5 | 5 || 6 | 6 || 7 | 7 || 8 | 11 |+---+----+8 rows in set (0.00 sec)mysql> insert into t2(j) values(11);ERROR 1062 (23000): Duplicate entry ’11’ for key ’t2.j_idx’

小結(jié)

其實(shí)沒(méi)啥說(shuō)的,祝大家用的愉快。

-The End-

以上就是詳解MySQL 8.0 之不可見(jiàn)索引的詳細(xì)內(nèi)容,更多關(guān)于MySQL 8.0 不可見(jiàn)索引的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲免费观看高清完整版在线观| 久久国产婷婷国产香蕉| 精品视频在线观看网站| 国产精品成人自拍| 国产极品嫩模在线观看91精品| 国产欧美精品久久| 国产精品丝袜在线播放| 欧美精品导航| 国产一区二区三区日韩精品| 韩国女主播一区二区三区| 日韩成人精品一区二区| 美女一区网站| 免费av一区| 视频在线观看91| 国产精品社区| 日本欧美韩国一区三区| 国产日韩欧美在线播放不卡| 久久精品系列| 日韩欧美自拍| 中文精品视频| 日韩成人av影视| 免费观看亚洲天堂| 神马久久午夜| 亚洲激情另类| 91九色综合| 国产一区二区三区久久| 91精品综合| 综合激情网...| 国产精品地址| 色婷婷综合网| 视频一区视频二区中文| 国产精品一区二区精品视频观看| 韩国女主播一区二区三区| 婷婷成人综合| 亚洲免费成人av在线| 牛牛精品成人免费视频| 欧美aa在线观看| 免费看日韩精品| 国产精品久久| 欧美jjzz| 欧美日韩午夜电影网| 女生影院久久| 亚洲一区二区小说| 国产欧美日韩综合一区在线播放| 国产精品v亚洲精品v日韩精品| 国产日韩电影| 丝袜诱惑制服诱惑色一区在线观看 | 日韩在线不卡| 综合亚洲视频| 国产成人久久精品麻豆二区| 国产一区二区精品| 国产欧美啪啪| 欧美精品一区二区久久| 天堂俺去俺来也www久久婷婷| 国产精品成久久久久| 免费精品视频最新在线| 国产91在线精品| 乱人伦精品视频在线观看| 国产精品成人国产| 欧美亚洲国产一区| 国产精品最新自拍| 亚洲女同中文字幕| 久久精品国产999大香线蕉| 一本一道久久a久久精品蜜桃| 久久精品国产99国产| 亚洲三级av| 欧美一区二区三区激情视频| 国产精品最新| 成人av二区| 久久麻豆视频| 免费在线观看一区二区三区| 日韩国产一区二区| 国产精品一区2区3区| 日韩天堂av| 樱桃视频成人在线观看| 日本免费在线视频不卡一不卡二| 精品一区免费| 色爱综合网欧美| 欧美精品国产白浆久久久久| 亚洲精品99| 日韩欧美精品综合| 久久精品国产久精国产| 婷婷精品在线观看| 亚洲天堂久久| 国产在线观看91一区二区三区| 亚洲综合中文| 99riav国产精品| 成人羞羞视频在线看网址| 久久国产三级精品| 视频一区二区三区入口| 日韩欧美一区二区三区免费观看| 国产精品sss在线观看av| 亚洲综合图色| 老司机久久99久久精品播放免费| 影视先锋久久| 亚洲风情在线资源| 国产成人免费精品| 国产精品magnet| 亚洲欧美久久精品| 亚洲在线国产日韩欧美| 欧美特黄一级大片| 免费在线小视频| 97在线精品| 精品午夜视频| 精品一区二区三区亚洲| 国产精品天天看天天狠| 国产日韩一区| 国产精品久久久亚洲一区| 97久久亚洲| 日本伊人久久| 日韩精品一区二区三区中文在线| 亚洲欧美日韩精品一区二区| 精品中文一区| 99久久99久久精品国产片果冰| 波多视频一区| 中文字幕色婷婷在线视频 | 日韩欧美中文字幕在线视频| 丝袜国产日韩另类美女| 伊人久久亚洲美女图片| 欧美国产91| 国产一区久久| 欧美日韩国产免费观看视频| 国内精品99| 免费观看不卡av| 在线亚洲欧美| 美女国产一区| 综合亚洲视频| 一二三区精品| 欧美亚洲人成在线| 欧美国产中文高清| 精品黄色一级片| 不卡福利视频| 亚洲国产不卡| 一二三区精品| 久久国产免费看| 欧美成人精品午夜一区二区| 福利欧美精品在线| 午夜欧美巨大性欧美巨大| 99久久精品国产亚洲精品| 亚洲女同中文字幕| 亚洲专区视频| 国产欧美日韩在线观看视频| 国产精品久久久久久久久久白浆 | 日韩精品一区二区三区免费观影| 成人免费网站www网站高清| 国产尤物精品| 欧美在线亚洲| 日韩欧美三区| 国产高清亚洲| 日韩av二区| 久久蜜桃av| 老司机精品久久| 国产亚洲欧美日韩精品一区二区三区| 国产福利亚洲| 三上悠亚国产精品一区二区三区| 亚洲二区精品| 亚洲欧美日本国产| 久久97久久97精品免视看秋霞| 日韩精品1区| 99国产精品| 国产亚洲欧美日韩精品一区二区三区| 欧美1区2区3| 欧美亚洲国产激情| 深夜福利一区| 国产传媒在线| 免费成人av在线播放| 国产精久久久| 日韩一级精品| 国产精品久久久久久av公交车| 日韩精品欧美| 日本欧美韩国一区三区| 国产日韩电影| 日韩中文字幕在线一区| 色爱综合网欧美| 亚洲久久一区| 高清av一区| 免费日韩av| 国产激情久久| 怡红院精品视频在线观看极品| 国产亚洲精品美女久久| 欧美13videosex性极品| 日本精品一区二区三区在线观看视频| 久久只有精品| 麻豆91精品| 水蜜桃久久夜色精品一区| 视频一区中文字幕| 国产在线不卡一区二区三区 | 欧美精品黄色| 国产精品一线| 性色av一区二区怡红| 国产精品a级| 日韩在线观看一区二区| 日韩免费小视频| 国产欧美啪啪| 老牛国产精品一区的观看方式| 日韩免费久久| 国产精品色在线网站| 久久亚洲欧美| 99成人在线视频| 精品国产亚洲一区二区三区在线|