成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 前端
在 MySQL 5.6.7 版本中得到了改變,因為在 MySQL 5.6.7 中引入了 Online DDL 技術(在線 DDL 技術),它允許在創(chuàng)建索引時,不阻塞其他會話(所有的 DML 操作都可以一起并發(fā)執(zhí)行)。

索引主要是用于提高數據檢索速度的一種機制,通過索引數據庫可以快速定位到目標數據的位置,而不需要遍歷整個數據集,它就像書籍的目錄部分,有它的存在,可以大大加速查詢的效率。

那么問題來了:在創(chuàng)建索引時一定會鎖表嗎?

如果你看的是網上的一些資料,或者是通過 chatgpt,那么很可能得到的結果是這樣的“是的,創(chuàng)建索引時是會鎖表的。”,但這個回答是不正確的,為什么呢?

典型回答

因為在 MySQL 5.6 之前,創(chuàng)建索引時會鎖表,所以,在早期 MySQL 版本中一定要在線上慎用,因為創(chuàng)建索引時會導致其他會話阻塞(select 查詢命令除外)。

但這個問題,在 MySQL 5.6.7 版本中得到了改變,因為在 MySQL 5.6.7 中引入了 Online DDL 技術(在線 DDL 技術),它允許在創(chuàng)建索引時,不阻塞其他會話(所有的 DML 操作都可以一起并發(fā)執(zhí)行)。

什么是 DDL?

DDL(Data Definition Language,數據庫定義語言):用于定義和管理數據庫的結構,它主要包括以下語句:

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

什么是 DML?

DML (Data Manipulation Language,數據操作語言) :用于查詢和修改數據,它主要包括以下語句:

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

什么是 Online DDL?

Online DDL(Online Data Definition Language,在線數據定義語言)是指在數據庫運行期間執(zhí)行對表結構或其他數據庫對象的更改操作,而不需要中斷或阻塞其他正在進行的事務和查詢。

Online DDL 官方介紹文檔:https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-operations.html

Online DDL 最重要操作定義如下:

簡單翻譯一下以上內容:

從上面的表格可以看出,有了 Online DDL 技術之后,在添加索引時,會對原本進行操作,并且允許和 DML(數據操作語言 INSERT、UPDATE、DELETE、SELECT)一起并發(fā)執(zhí)行了。

小結

在 MySQL 5.6 之前,創(chuàng)建索引時會鎖表,但在 MySQL 5.6.7 之后,因為新增了 Online DDL 技術,所以此時在添加索引時,是可以和 DML 數據操作語言  INSERT、UPDATE、DELETE、SELECT 等命令一起執(zhí)行的。

責任編輯:姜華 來源: Java中文社群
相關推薦

2024-06-20 12:38:07

2024-08-05 10:13:59

MySQL大數據優(yōu)化

2020-05-12 11:05:54

MySQL索引數據庫

2025-02-14 10:03:40

2020-08-03 07:04:54

測試面試官應用程序

2021-12-17 07:30:42

排序算法效率

2021-12-13 09:10:48

equalshashCodeJava

2021-12-03 06:59:23

HashCodeEquals面試

2020-06-22 07:47:46

提交面試官訂單

2024-06-20 08:03:35

MySQL數據表版本

2024-11-13 15:29:08

MySQL技術索引

2023-02-08 08:32:41

輪詢鎖

2023-10-08 07:13:19

equalshashCode哈希表

2020-12-23 13:29:15

微服務架構面試官

2024-08-12 17:36:54

2021-03-17 08:39:24

作用域作用域鏈JavaScript

2021-03-16 22:25:06

作用域鏈作用域JavaScript

2010-08-27 10:53:14

面試

2022-09-29 07:30:57

數據庫索引字段

2021-09-28 13:42:55

Chrome Devwebsocket網絡協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区在线播放 | 日韩免费高清视频 | 精品久久精品 | 国产成人精品一区 | 日日操操 | 暖暖日本在线视频 | 黄a在线观看 | 日韩网站在线观看 | 午夜在线小视频 | 久久久久久成人 | 欧美在线一区二区三区四区 | 国产精品极品美女在线观看免费 | 欧美亚洲一区二区三区 | 亚洲人人舔人人 | 亚洲精品久久久久中文字幕欢迎你 | 日韩高清一区 | 色爱综合网 | 欧美日韩一卡 | 久久国产麻豆 | 天天成人综合网 | 久www| 日韩欧美中文 | 涩涩视频在线看 | 五月综合色啪 | 国产一级视频在线播放 | 日韩在线观看一区 | 国产不卡视频 | 日日操av| 日本综合在线观看 | 丁香色婷婷 | 久久丝袜视频 | 久久久无码精品亚洲日韩按摩 | 日韩欧美国产一区二区 | 亚洲男人天堂 | 91视频网址 | 精品国产乱码久久久久久蜜退臀 | 97精品超碰一区二区三区 | 黄色片在线观看网址 | 中文字幕观看 | 久久精品视频9 | 天堂一区在线 |