日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

被面試官PUA了:創(chuàng)建索引時(shí)一定會(huì)鎖表

來源: 責(zé)編: 時(shí)間:2023-12-25 09:34:22 249觀看
導(dǎo)讀索引主要是用于提高數(shù)據(jù)檢索速度的一種機(jī)制,通過索引數(shù)據(jù)庫可以快速定位到目標(biāo)數(shù)據(jù)的位置,而不需要遍歷整個(gè)數(shù)據(jù)集,它就像書籍的目錄部分,有它的存在,可以大大加速查詢的效率。那么問題來了:在創(chuàng)建索引時(shí)一定會(huì)鎖表嗎?如果你

n6828資訊網(wǎng)——每日最新資訊28at.com

索引主要是用于提高數(shù)據(jù)檢索速度的一種機(jī)制,通過索引數(shù)據(jù)庫可以快速定位到目標(biāo)數(shù)據(jù)的位置,而不需要遍歷整個(gè)數(shù)據(jù)集,它就像書籍的目錄部分,有它的存在,可以大大加速查詢的效率。n6828資訊網(wǎng)——每日最新資訊28at.com

那么問題來了:在創(chuàng)建索引時(shí)一定會(huì)鎖表嗎?n6828資訊網(wǎng)——每日最新資訊28at.com

如果你看的是網(wǎng)上的一些資料,或者是通過 chatgpt,那么很可能得到的結(jié)果是這樣的“是的,創(chuàng)建索引時(shí)是會(huì)鎖表的?!保@個(gè)回答是不正確的,為什么呢?n6828資訊網(wǎng)——每日最新資訊28at.com

典型回答

因?yàn)樵?MySQL 5.6 之前,創(chuàng)建索引時(shí)會(huì)鎖表,所以,在早期 MySQL 版本中一定要在線上慎用,因?yàn)閯?chuàng)建索引時(shí)會(huì)導(dǎo)致其他會(huì)話阻塞(select 查詢命令除外)。n6828資訊網(wǎng)——每日最新資訊28at.com

但這個(gè)問題,在 MySQL 5.6.7 版本中得到了改變,因?yàn)樵?MySQL 5.6.7 中引入了 Online DDL 技術(shù)(在線 DDL 技術(shù)),它允許在創(chuàng)建索引時(shí),不阻塞其他會(huì)話(所有的 DML 操作都可以一起并發(fā)執(zhí)行)。n6828資訊網(wǎng)——每日最新資訊28at.com

什么是 DDL?

DDL(Data Definition Language,數(shù)據(jù)庫定義語言):用于定義和管理數(shù)據(jù)庫的結(jié)構(gòu),它主要包括以下語句:n6828資訊網(wǎng)——每日最新資訊28at.com

  • CREATE:用于創(chuàng)建數(shù)據(jù)庫、表、索引、視圖等對(duì)象。
  • ALTER:用于修改數(shù)據(jù)庫、表、索引、視圖等已存在的對(duì)象的結(jié)構(gòu)。
  • DROP:用于刪除數(shù)據(jù)庫、表、索引、視圖等對(duì)象。
  • TRUNCATE:用于刪除表中的所有數(shù)據(jù),但保留表的結(jié)構(gòu)。
  • RENAME:用于重命名數(shù)據(jù)庫、表等對(duì)象。

什么是 DML?

DML (Data Manipulation Language,數(shù)據(jù)操作語言) :用于查詢和修改數(shù)據(jù),它主要包括以下語句:n6828資訊網(wǎng)——每日最新資訊28at.com

  • INSERT:用于向表中插入新的數(shù)據(jù)行。
  • UPDATE:用于更新表中已存在的數(shù)據(jù)行。
  • DELETE:用于刪除表中的數(shù)據(jù)行。
  • SELECT:用于從表中檢索數(shù)據(jù)。雖然 SELECT 主要用于查詢,但某些包含數(shù)據(jù)修改的擴(kuò)展 SQL 功能(如 LIMIT、ORDER BY、GROUP BY 等)也屬于 DML 的范疇。

什么是 Online DDL?

Online DDL(Online Data Definition Language,在線數(shù)據(jù)定義語言)是指在數(shù)據(jù)庫運(yùn)行期間執(zhí)行對(duì)表結(jié)構(gòu)或其他數(shù)據(jù)庫對(duì)象的更改操作,而不需要中斷或阻塞其他正在進(jìn)行的事務(wù)和查詢。n6828資訊網(wǎng)——每日最新資訊28at.com

Online DDL 官方介紹文檔:https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-operations.htmln6828資訊網(wǎng)——每日最新資訊28at.com

Online DDL 最重要操作定義如下:n6828資訊網(wǎng)——每日最新資訊28at.com

n6828資訊網(wǎng)——每日最新資訊28at.com

簡單翻譯一下以上內(nèi)容:n6828資訊網(wǎng)——每日最新資訊28at.com

n6828資訊網(wǎng)——每日最新資訊28at.com

從上面的表格可以看出,有了 Online DDL 技術(shù)之后,在添加索引時(shí),會(huì)對(duì)原本進(jìn)行操作,并且允許和 DML(數(shù)據(jù)操作語言 INSERT、UPDATE、DELETE、SELECT)一起并發(fā)執(zhí)行了。n6828資訊網(wǎng)——每日最新資訊28at.com

小結(jié)

在 MySQL 5.6 之前,創(chuàng)建索引時(shí)會(huì)鎖表,但在 MySQL 5.6.7 之后,因?yàn)樾略隽?Online DDL 技術(shù),所以此時(shí)在添加索引時(shí),是可以和 DML 數(shù)據(jù)操作語言  INSERT、UPDATE、DELETE、SELECT 等命令一起執(zhí)行的。n6828資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-53337-0.html被面試官PUA了:創(chuàng)建索引時(shí)一定會(huì)鎖表

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 妙用 CSS counters 實(shí)現(xiàn)逐層縮進(jìn)

下一篇: .NET Core下優(yōu)秀的日志框架使用解析,附源代碼

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 克拉玛依市| 天津市| 潜江市| 咸丰县| 田阳县| 紫云| 靖边县| 霍林郭勒市| 昌吉市| 汨罗市| 梅州市| 楚雄市| 龙山县| 金平| 湟源县| 历史| 黔东| 宾川县| 宜章县| 苏尼特右旗| 洪江市| 铜川市| 宜春市| 林西县| 富平县| 砚山县| 钦州市| 伊吾县| 巴彦县| 甘泉县| 吉安市| 方城县| 元氏县| 十堰市| 新闻| 凤凰县| 吴川市| 桃园县| 云龙县| 景洪市| 雷山县|