mysql在线ddl操作

mysql5.6开始支持在线ddl,在线ddl能够提供下面的好处;

1提高生产环境的可用性2在ddl执行期间,获得性能和并发性的平衡,可以指定LOCK从句与algorithm从句,lock=exclusize会阻塞整个表的访问,lock=shared会允许查询但不允许dml,lock=none允许查询和dml操作,lock=default或是没有指定,mysql使用最低级别的锁,algorithm指定是拷贝表还是不拷贝表直接内部操作,3只对需要的地方做改变,不是创建一个新的临时表。

之前ddl操作的代价是很昂贵的,许多的alter table语句是创建一个新的,按需要的选项创建的空表,然后拷贝已经存在的行到新表中,在更新插入行的索引,在所有的行被拷贝之后,老的表被删除,拷贝的表被重命名成原来表的名。

在5.5和5.1优化了的create index和drop index避免了表拷贝的行为,这个特色叫快速索引创建,56.增强了,在改变的时候dml还能处理,叫在线ddl。

一些alter语句允许并发的dml,但是仍然需要拷贝表,这些操作的表拷贝要比之前版本的快

  • Adding, dropping, or reordering columns.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQLDDL操作主要包括对库和表的结构操作。针对库,可以使用CREATE DATABASE语句来创建数据库。例如,使用CREATE DATABASE data_base_name;可以创建一个名为data_base_name的数据库。 针对表,可以使用CREATE TABLE语句来创建表。例如,使用CREATE TABLE table_name (column1 datatype, column2 datatype, ...);来创建一个名为table_name的表,其中column1、column2等是表的列名,datatype是列的数据类型。可以在CREATE TABLE语句中指定表的各个列的属性,比如约束、索引等。 除了创建表,还可以使用ALTER TABLE语句对表进行修改,比如添加列、删除列、修改列的属性等。例如,使用ALTER TABLE table_name ADD column_name datatype;可以向表中添加一个名为column_name的列。 还可以使用DROP TABLE语句来删除表。例如,使用DROP TABLE table_name;可以删除名为table_name的表。 除了对库和表的操作,还可以使用其他的DDL语句进行一些其他的操作,比如创建视图、创建索引等。这些操作可以根据具体需求来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL中的DDL常规操作总结](https://blog.csdn.net/qq_43600166/article/details/126219483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL常用DDL操作命令](https://download.csdn.net/download/weixin_38631182/13687242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值