电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Mysql Online DDL的使用詳解

瀏覽:113日期:2023-10-02 17:11:24
目錄正文LOCK參數ALGORITHM參數COPY TABLE流程IN-PLACE流程允許并發DML的DDL操作不允許并發DML的DDL操作正文

Online DDL在MySQL 5.6才開始支持的,在5.5及之前版本,使用alter table/create index等命令進行表結構修改操作均會鎖表,這在生產環境上明顯是不可接受的。

在MySQL 5.7,Online DDL在性能和穩定性上不斷得到優化,性能有顯著優勢,且對業務負載影響小,停寫時間可控,相對pt-osc/gh-ost來說,無需安裝第三方依賴包,同時支持Inplace算法的Online DDL,由于無需拷表,所需磁盤空間也更小。

先來看一個常見的DDL語句:

ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;

其中,LOCK描述了DDL期間運行的并發程度,ALGORITHM描述了DDL的實現方式

LOCK參數 LOCK=NONE:允許并發的查詢和DML操作 LOCK=SHARED:允許并發的查詢,但阻塞DML操作 LOCK=DEFAULT: 由系統決定,允許盡可能多的并發性(并發查詢、DML或兩者)。如果省略LOCK子句相當于指定LOCK=DEFAULTLOCK=EXCLUSIVE:阻塞并發查詢和DML操作。 ALGORITHM參數 ALGORITHM=COPY:采用拷表方式進行表變更,與pt-osc/gh-ost類似; ALGORITHM=INPLACE:僅需要進行引擎層數據改動,不涉及Server層; COPY TABLE流程 首先建立臨時表,表結構為ALTAR TABLE更改后的結構 將原表中數據導入到臨時表(server層創建臨時表,會有顯示的IBD文件) 刪除原表 將臨時表rename為原來的表名

同時這一過程中,為了保持數據的一致性,中間復制數據時(Copy Table)全程鎖表只讀,如果有寫請求進來將無法提供服務,將導致連接數爆張。

IN-PLACE流程 建立一個臨時文件,掃描原表主鍵的所有數據頁 用數據頁中原表記錄生成B+樹,存儲到臨時文件中(innodb_temp_data_file_path臨時表空間下創建臨時文件) 生成臨時文件的過程中,將所有對原表的操作記在一個日志文件(rowlog)中 臨時文件生成后,將日志文件中的操作應用到臨時文件,得到一個輯數據上與原表相同 數據文件(日志文件記錄和重放操作) 用臨時文件替換原表數據文件

這一過程中,alter 語句在啟動的時候獲取MDL寫鎖,但是這個寫鎖在真正拷貝數據之前就退化成讀鎖,也就是說在最耗時的copy數據到臨時文件的過程中,原表是可以進行dml操作的,僅僅會在最后的新舊表切換階段加鎖,這個rename的時間就非常快了。

允許并發DML的DDL操作 創建/新增二級索引 重命名二級索引 刪除二級索引 改變索引類型(USING {BTREE | HASH}) 添加主鍵(expensive cost) 刪除主鍵并增加另一個(expensive cost)(ALTER TABLE tbl_name DROP PRIMARY KEY, ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;) 新增列 (expensive cost) 刪除列 (expensive cost) 重命名列 列重新排序 (expensive cost) 改變列默認值 刪除列默認值 改變列自增值 設置列屬性null/not null (expensive cost) 修改枚舉或集合列的定義 Change ROW_FORMAT Change key block size

標記為expensive cost的操作雖然允許OnlineDDL,但本身對服務器IO,CPU都會造成較高負擔,同時會導致復制阻塞,造成另一種形式的從庫復制延遲,所以如果是大表,建議業務低峰期執行

不允許并發DML的DDL操作 添加全文索引 添加空間索引 刪除主鍵 改變列數據類型 添加自增列(新增列->變為自增列) 變更表字符集 修改數據類型長度 特例:varchar字符長度從10變更到小于255 采用inplace方式不會鎖表;從255變更到10會鎖表;

以上就是Mysql Online DDL的使用詳解的詳細內容,更多關于Mysql Online DDL的使用的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 北京京云律师事务所| 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 桌上式超净工作台-水平送风超净工作台-上海康路仪器设备有限公司 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 德国进口电锅炉_商用电热水器_壁挂炉_电采暖器_电热锅炉[德国宝] | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢| BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 百度网站优化,关键词排名,SEO优化-搜索引擎营销推广 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂| 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 |