婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解MySQL 8.0 之不可見索引

詳解MySQL 8.0 之不可見索引

熱門標簽:芒果電話機器人自動化 廣東人工電話機器人 申請外呼電話線路 百度地圖圖標標注中心 湖南人工外呼系統多少錢 南通自動外呼系統軟件 日照旅游地圖標注 石家莊電商外呼系統 信陽穩定外呼系統運營商

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

落地之前 我們會對MySQL 8.0的新特性和功能,配置參數,升級方式,兼容性等等做一系列的學習和測試。以后陸陸續續會發布文章出來。本文算是MySQL 8.0新特性學習的第一篇吧,聊聊 不可見索引。

不可見索引

不可見索引中的不可見是針對優化器而言的,優化器在做執行計劃分析的時候(默認情況下)是會忽略設置了不可見屬性的索引。

為什么是默認情況下,如果 optimizer_switch設置use_invisible_indexes=ON 是可以繼續使用不可見索引。

話不多說,我們先測試幾個例子

如何設置不可見索引

我們可以通過帶上關鍵字VISIBLE|INVISIBLE的create table,create index,alter table 設置索引的可見性。

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: 0

mysql> alter table t1 add index k_idx (k) invisible;
Query OK, 0 rows affected (0.10 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> 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: 0

mysql> 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)

不可見索引的作用

面對歷史遺留的一大堆索引,經過數輪新老交替開發和DBA估計都不敢直接將索引刪除,尤其是遇到比如大于100G的大表,直接刪除索引會提升數據庫的穩定性風險。

有了不可見索引的特性,DBA可以一邊設置索引為不可見,一邊觀察數據庫的慢查詢記錄和thread running 狀態。如果數據庫長時間沒有相關慢查詢 ,thread_running比較穩定,就可以下線該索引。反之,則可以迅速將索引設置為可見,恢復業務訪問。

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

設置完不可見索引,執行計劃無法使用索引

mysql> show create table t2 \G
*************************** 1. row ***************************
    Table: t2
Create 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_ci
1 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: 0


mysql> explain select * from t2 where j=3\G
*************************** 1. row ***************************
      id: 1
 select_type: SIMPLE
    table: t2
  partitions: NULL
     type: ALL
possible_keys: NULL
     key: NULL
   key_len: NULL
     ref: NULL
     rows: 7
   filtered: 14.29
    Extra: Using where
1 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: 0

mysql> explain select * from t2 where j=3\G
*************************** 1. row ***************************
      id: 1
 select_type: SIMPLE
    table: t2
  partitions: NULL
     type: const
possible_keys: j_idx
     key: j_idx
   key_len: 4
     ref: const
     rows: 1
   filtered: 100.00
    Extra: Using index
1 row in set, 1 warning (0.01 sec)

使用不可見索引的注意事項

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

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

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)

### 沒有主鍵的情況下,唯一鍵被當做隱式主鍵,不能設置 不可見。
mysql> alter table t2 alter index j_idx invisible;
ERROR 3522 (HY000): A primary key index cannot be invisible
mysql>
mysql> alter table t2 add primary key (i);
Query OK, 0 rows affected (0.44 sec)
Records: 0 Duplicates: 0 Warnings: 0

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    |
| 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: 0

mysql> 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) 不能訪問不可見索引,否則報錯。

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

設置索引為不可見需要獲取MDL鎖,遇到長事務會引發數據庫抖動

唯一索引被設置為不可見,不代表索引本身唯一性的約束失效

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'

小結

其實沒啥說的,祝大家用的愉快。

-The End-

以上就是詳解MySQL 8.0 之不可見索引的詳細內容,更多關于MySQL 8.0 不可見索引的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快
  • MySQL全文索引實現簡單版搜索引擎實例代碼
  • MySQL創建全文索引分享
  • MySQL全文索引應用簡明教程
  • 基于mysql全文索引的深入理解
  • MySQL索引失效的幾種情況詳析
  • Mysql普通索引與唯一索引的選擇詳析
  • 淺析MysQL B-Tree 索引
  • MySQL8.0中的降序索引
  • MySQL 8.0 之索引跳躍掃描(Index Skip Scan)
  • Mysql索引常見問題匯總
  • MySql索引提高查詢速度常用方法代碼示例
  • MySQL 全文索引的原理與缺陷

標簽:公主嶺 合肥 牡丹江 阿里 沈陽 天津 呼和浩特 惠州

巨人網絡通訊聲明:本文標題《詳解MySQL 8.0 之不可見索引》,本文關鍵詞  詳解,MySQL,8.0,之不,可見,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解MySQL 8.0 之不可見索引》相關的同類信息!
  • 本頁收集關于詳解MySQL 8.0 之不可見索引的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩高清在线不卡| 中文字幕一区二区三| 久久99国产精品尤物| 一区在线观看视频| 精品国产髙清在线看国产毛片| 不卡的看片网站| 九九热在线视频观看这里只有精品| 樱花影视一区二区| 国产精品理论片在线观看| 久久综合九色欧美综合狠狠| 正在播放亚洲一区| 欧美日韩午夜精品| 色综合久久综合网97色综合| 国产成人免费视频一区| 久久成人麻豆午夜电影| 丝袜国产日韩另类美女| 亚洲综合网站在线观看| 亚洲免费av观看| 亚洲免费观看在线视频| 亚洲天堂成人在线观看| 日本一区免费视频| 国产精品国产自产拍高清av| 欧美激情一区不卡| 18成人在线视频| 一区二区三区四区乱视频| 亚洲少妇屁股交4| 欧美曰成人黄网| 69堂国产成人免费视频| 91精品国产综合久久婷婷香蕉 | 2020国产精品自拍| 久久综合久久久久88| 久久久久亚洲蜜桃| 国产精品久久久久一区二区三区共| 国产丝袜美腿一区二区三区| 国产精品日韩成人| 亚洲一区二区视频| 亚洲福利电影网| 午夜激情久久久| 美国毛片一区二区三区| 粉嫩绯色av一区二区在线观看| 成人av在线看| 欧美日韩视频在线第一区 | 国产精品美女久久福利网站| 亚洲国产成人一区二区三区| 一区二区三区在线视频免费观看| 亚洲www啪成人一区二区麻豆| 麻豆91精品视频| jlzzjlzz欧美大全| 欧美一区二区三区白人| 国产精品久久毛片av大全日韩| 亚洲激情男女视频| 国产尤物一区二区| 91成人免费电影| 久久综合成人精品亚洲另类欧美| 综合自拍亚洲综合图不卡区| 午夜视频一区在线观看| 国产91精品露脸国语对白| 欧美视频一区二区三区在线观看 | 欧美日韩精品福利| 国产女人水真多18毛片18精品视频| 国产精品久久久久久久久快鸭| 亚洲成人免费看| 成人爽a毛片一区二区免费| 欧美日韩成人综合在线一区二区| 亚洲精品在线电影| 一区二区在线观看视频| 国产真实乱偷精品视频免| 色88888久久久久久影院按摩| 日韩欧美一区二区三区在线| 亚洲人成人一区二区在线观看| 秋霞电影网一区二区| 一本一本大道香蕉久在线精品| 久久网站热最新地址| 丝袜脚交一区二区| 欧美日韩美女一区二区| 国产精品毛片大码女人| 国内精品在线播放| 欧美肥妇毛茸茸| 亚洲精品成a人| 成人av午夜电影| 国产三级精品三级在线专区| 免费看黄色91| 91精品国产综合久久久久| 一区二区三区日本| 99热精品国产| 亚洲国产高清在线| 国产一区二区不卡在线 | 国产精品99久久久久久久vr| 色偷偷成人一区二区三区91| 中文字幕精品一区| 国产一区二区剧情av在线| 久久毛片高清国产| 国产在线播放一区| 久久精品一区四区| 国产成人av一区二区三区在线 | 色天使久久综合网天天| 国产精品久久777777| 国产.精品.日韩.另类.中文.在线.播放| 欧美另类久久久品| 一区二区三区四区在线免费观看 | 久久亚洲捆绑美女| 国产乱码精品一区二区三区五月婷| 91精品国产aⅴ一区二区| 日产国产高清一区二区三区| 日韩一卡二卡三卡四卡| 蜜臀av性久久久久蜜臀av麻豆 | 一区二区在线观看av| 色噜噜夜夜夜综合网| 亚洲成人精品影院| 日韩美女主播在线视频一区二区三区| 久久99国产乱子伦精品免费| 久久久久久麻豆| 国产成人免费视频一区| 亚洲天堂精品视频| 欧美在线观看18| 麻豆精品一区二区三区| 久久久影院官网| 91在线精品一区二区| 一卡二卡三卡日韩欧美| 欧美一级夜夜爽| 国产乱码精品一区二区三区av | 国产精品理论片| 欧美亚洲一区二区在线观看| 蜜臀av一区二区| 中文在线一区二区| 欧美性一级生活| 精品一区二区三区视频| 国产精品女主播av| 欧美日韩一区二区在线观看| 美女国产一区二区三区| 国产调教视频一区| 在线观看亚洲精品| 麻豆91在线播放| 亚洲日本va午夜在线电影| 欧美精品日韩综合在线| 国产精品自在在线| 亚洲图片一区二区| 日本一区二区三区国色天香| 欧美日韩国产经典色站一区二区三区 | 亚洲女爱视频在线| 欧美一级久久久久久久大片| www.日韩av| 精品一区二区久久久| 一区二区三区波多野结衣在线观看 | 国精品**一区二区三区在线蜜桃| 欧美国产激情二区三区| 欧美怡红院视频| 成人一区二区三区| 日本三级韩国三级欧美三级| 国产精品乱人伦| 日韩天堂在线观看| 欧美这里有精品| 国产91精品欧美| 激情欧美日韩一区二区| 无码av免费一区二区三区试看| 国产精品成人免费在线| 久久久久国产精品麻豆ai换脸| 精品视频在线免费观看| 91视频一区二区| 国产98色在线|日韩| 看片的网站亚洲| 青青草97国产精品免费观看| 亚洲一区二区不卡免费| 亚洲女厕所小便bbb| 亚洲欧洲一区二区在线播放| 国产欧美精品区一区二区三区| 精品黑人一区二区三区久久| 欧美日韩不卡在线| 欧美综合久久久| 色综合久久久久久久久| caoporn国产一区二区| 国产麻豆视频精品| 国产露脸91国语对白| 国产在线精品一区二区夜色| 日韩精品一卡二卡三卡四卡无卡| 亚洲永久精品大片| 亚洲一区电影777| 亚洲丰满少妇videoshd| 一区二区三区四区在线| 亚洲国产成人91porn| 亚洲三级免费观看| 亚洲与欧洲av电影| 婷婷国产v国产偷v亚洲高清| 日本不卡一二三区黄网| 奇米色一区二区| 久久se精品一区二区| 国产精品自拍在线| 99精品国产99久久久久久白柏| 成人免费观看视频| 色狠狠一区二区| 91精品福利在线一区二区三区| 欧美精品久久久久久久多人混战 | www国产精品av| 2014亚洲片线观看视频免费| 国产欧美日韩不卡免费| 国产精品家庭影院| 污片在线观看一区二区| 国产美女在线观看一区| 99久久亚洲一区二区三区青草| 欧美性猛片xxxx免费看久爱|