【MySQL】十四,MySQL 8.0的隱藏索引

在MySQL 8.0之前的版本中,索引只能直接刪除。如果刪除后發現引起了系統故障,又必須進行創建。當表的數據量比較大的時候,這樣做的代價就會非常高。

在MySQL 8.0中,提供了隱藏索引。如果想刪除某個索引,那么在實際刪除之前,可以將其設置為隱藏,此時查詢優化器就不會再使用此索引。確認對系統不會產生影響后,再實際刪除。

演示

  • 創建表時創建隱藏索引
CREATE TABLE `ts2` (`id` int not NULL,`name` int DEFAULT NULL,primary key(id),KEY `idx_name` (`name`) invisible
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  • 切換成非隱藏
ALTER TABLE ts2 ALTER INDEX idx_name VISIBLE;
  • 再次切換成隱藏
ALTER TABLE ts2 ALTER INDEX idx_name invisible;
  • 在已經存在的表上,創建新索引
CREATE TABLE `ts3` (`id` int not NULL,`name` int DEFAULT NULL,primary key(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

在MySQL 8.0中創建新索引時,默認就是可見的

create index idx_name on ts3(name);

在MySQL 8.0中創建新索引時,默認就是可見的,也可以顯示指定索引隱藏

create index idx_name_2 on ts3(name) invisible;

使隱藏索引對查詢優化器可見

select @@optimizer_switch;

use_invisible_indexes=off說明隱藏索引默認對查詢優化器不可見
設置為on可以讓隱藏索引對查詢優化器可見

set session optimizer_switch="use_invisible_indexes=on";

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64269.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64269.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64269.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ES6復習筆記】解構賦值(2)

介紹 解構賦值是一種非常方便的語法,可以讓我們更簡潔地從數組和對象中提取值,并且可以應用于很多實際開發場景中。 1. 數組的解構賦值 數組的解構賦值是按照一定模式從數組中提取值,然后對變量進行賦值。下面是一個例子: con…

爬蟲數據存儲:Redis、MySQL 與 MongoDB 的對比與實踐

爬蟲的核心任務是從網絡中提取數據,而存儲這些數據是流程中不可或缺的一環。根據業務需求的不同,存儲的選擇可能直接影響數據處理的效率和開發體驗。本文將介紹三種常用的存儲工具——Redis、MySQL 和 MongoDB,分析它們的特點,并提…

【Python】使用匿名函數Lambda解析html源碼的任意元素(Seleinium ,BeautifulSoup皆適用)

一直都發現lambda函數非常好用,它可以用簡潔的方式編寫小函數,無需寫冗長的過程就可以獲取結果。干脆利落! 它允許我們定義一個匿名函數,在調用一次性的函數時非常有用。 最近整理了一些,lambda函數結合BeautifulSou…

Bash語言的語法

Bash語言簡介與應用 Bash(Bourne Again SHell)是一種Unix Shell和命令語言,在Linux、macOS及其他類Unix系統中被廣泛使用。作為GNU項目的一部分,Bash不僅是對早期Bourne Shell的增強,還引入了許多特性和功能&#xff…

Ingress-Nginx Annotations 指南:配置要點全方面解讀(下)

文章目錄 1.HTTP2 Push Preload2.Server Alias3.Server snippet4.Client Body Buffer Size5.External Authentication6.Global External Authentication7.Rate Limiting8.Global Rate Limiting9.Permanent Redirect10.Permanent Redirect Code11.Temporal Redirect12.SSL Passt…

互聯網路由架構

大家覺得有意義和幫助記得及時關注和點贊!!! 本書致力于解決實際問題,書中包含大量的架構圖、拓撲圖和真實場景示例,內容全面 且易于上手,是不可多得的良心之作。本書目的是使讀者成為將自有網絡集成到全球互聯網 領域的專家。 以下是筆記內…

【Flutter_Web】Flutter編譯Web第三篇(網絡請求篇):dio如何改造方法,變成web之后數據如何處理

前言 Flutter端在處理網絡請求的時候,最常用的庫當然是Dio了,那么在改造成web端的時候,最先處理的必然是網絡請求,否則沒有數據去處理驅動實圖渲染。 官方鏈接 pub https://pub.dev/packages/diogithub https://github.com/c…

Spring Boot @Conditional注解

在Spring Boot中,Conditional 注解用于條件性地注冊bean。這意味著它可以根據某些條件來決定是否應該創建一個特定的bean。這個注解可以放在配置類或方法上,并且它會根據提供的一組條件來判斷是否應該實例化對應的組件。 要使用 Conditional注解時&#…

項目上傳到gitcode

首先需要在個人設置里面找到令牌 記住自己的賬號和訪問令牌(一長串),后面git要輸入這個, 賬號是下面這個 來到自己的倉庫 #查看遠程倉庫,是不是自己的云倉庫 git remote -v # 創建新分支 git checkout -b llf # 三步…

【Rust自學】6.4. 簡單的控制流-if let

喜歡的話別忘了點贊、收藏加關注哦,對接下來的教程有興趣的可以關注專欄。謝謝喵!(・ω・) 6.4.1. 什么是if let if let語法允許將if和let組合成一種不太冗長的方式來處理與一種模式匹配的值,同時忽略其余模式。 可以…

【Git學習】windows系統下git init后沒有看到生成的.git文件夾

[問題] git init 命令后看不到.git文件夾 [原因] 文件夾設置隱藏 [解決辦法] Win11 win10

vscode添加全局宏定義

利用vscode編輯代碼時,設置了禁用非活動區域著色后,在一些編譯腳本中配置的宏又識別不了 遇到#ifdef包住的代碼就會變暗色,想查看代碼不是很方便。如下圖: 一 解決: 在vscode中添加全局宏定義。 二 步驟&#xff1a…

【服務器主板】定制化:基于Intel至強平臺的全新解決方案

隨著數據處理需求不斷增長,服務器硬件的發展也在持續推進。在這一背景下,為用戶定制了一款全新的基于Intel至強平臺的服務器主板,旨在提供強大的計算能力、優異的內存支持以及高速存儲擴展能力。適用于需要高性能計算、大規模數據處理和高可用…

php怎么去除數點后面的0

在PHP中,我們可以使用幾種方法來去除數字小數點后的0。 方法一:使用intval函數 intval函數可以將一個數字轉化為整數,另外,它也可以去除小數點后面的0。 “php $number 123.4500; $number intval($number); echo $number; // 輸…

數字后端培訓項目Floorplan常見問題系列專題續集1

今天繼續給大家分享下數字IC后端設計實現floorplan階段常見問題系列專題。這些問題都是來自于咱們社區IC后端訓練營學員提問的問題庫。目前這部分問題庫已經積累了4年了,后面會陸續分享這方面的問題。 希望對大家的數字后端學習和工作有所幫助。 數字后端項目Floor…

【遞歸,搜索與回溯算法 綜合練習】深入理解暴搜決策樹:遞歸,搜索與回溯算法綜合小專題(二)

優美的排列 題目解析 算法原理 解法 :暴搜 決策樹 紅色剪枝:用于剪去該節點的值在對應分支中,已經被使用的情況,可以定義一個 check[ ] 紫色剪枝:perm[i] 不能夠被 i 整除,i 不能夠被 per…

Java中各種數組復制方式的效率對比

在 Java 中,數組復制是一個常見的操作,尤其是在處理動態數組(如 ArrayList)時。Java 提供了多種數組復制的方式,每種方式在性能和使用場景上都有所不同。以下是對幾種主要數組復制方式的比較,包括 System.a…

視頻會議是如何實現屏幕標注功能的?

現在主流的視頻會議軟件都有屏幕標注功能,屏幕標注功能給屏幕分享者講解分享內容時提供了極大的方便。那我們以傲瑞視頻會議(OrayMeeting)為例,來講解屏幕標注是如何實現的。 傲瑞會議的PC端(Windows、信創Linux、銀河…

Framework開發入門(一)之源碼下載

一、使用Linux操作系統的小伙伴可以跳轉到官網鏈接按提示操作 官網源碼地址:下載源代碼 | Android Open Source Project 1.創建一個空目錄來存放您的工作文件。為其指定一個您喜歡的任意名稱: mkdir WORKING_DIRECTORYcdWORKING_DIRECTORY …

改進爬山算法之四:概率爬山法(Probabilistic Hill Climbing,PHC)

概率爬山法(Probabilistic Hill Climbing,PHC)是一種局部搜索算法,它結合了隨機性和貪婪搜索的特點,是對爬山算法(Hill Climbing Algorithm)的一種變體或擴展。與傳統的爬山法不同,PHC不是總是選擇最優的鄰居作為下一步的移動,而是以一定的概率選擇最優鄰居,同時以一…