【技术实现步骤摘要】
DDL语句的执行方法、装置、设备及介质
[0001]本说明书一个或多个实施例涉及计算机
,尤其涉及一种DDL语句的执行方法、装置、设备及介质。
技术介绍
[0002]数据定义语言(Data Definition Language,DDL)是一种用于定义数据表结构的数据库语言,可以用来创建、删除、修改数据表的结构。但是,数据库是一种允许多用户使用的共享资源,当多个用户并发地对数据表进行操作时,会出现多个DDL语句请求对数据库表的同一结构进行操作的情况,如果不对这种并发操作加以控制,可能会破坏数据库的数据一致性。为了在数据库中正确且并发地执行DDL语句,需要统一的锁机制来应对多个DDL语句之间的并发问题。
技术实现思路
[0003]有鉴于此,本说明书一个或多个实施例提供一种DDL语句的执行方法、装置、设备及介质。
[0004]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种DDL语句的执行方法,包括:
[0006]响应于接收到用于对目标数据表进行操作的目标DDL语句,基于目标DDL语句对应的第一待执行操作,从预先设置好的加锁指示信息中确定与第一待执行操作匹配的目标加锁指示信息,加锁指示信息用于指示通过DDL语句实现不同类型的数据库操作时的加锁方式;
[0007]按照目标加锁指示信息,对目标数据表加锁,以在目标数据表处于加锁状态的情况下执行目标DDL语句。
[0008]根据本说明书一个或多 ...
【技术保护点】
【技术特征摘要】
1.一种DDL语句的执行方法,包括:响应于接收到用于对目标数据表进行操作的目标DDL语句,基于所述目标DDL语句对应的第一待执行操作,从预先设置好的加锁指示信息中确定与所述第一待执行操作匹配的目标加锁指示信息,所述加锁指示信息用于指示通过DDL语句实现不同类型的数据库操作时的加锁方式;按照所述目标加锁指示信息,对所述目标数据表加锁,以在所述目标数据表处于加锁状态的情况下执行所述目标DDL语句。2.根据权利要求1所述的方法,所述加锁指示信息中存储有不同类型的数据库操作所对应的锁类型;响应于接收到用于对目标数据表进行操作的目标DDL语句,基于所述目标DDL语句对应的第一待执行操作,从预先设置好的加锁指示信息中确定与所述第一待执行操作匹配的目标加锁指示信息,包括:响应于接收到用于对目标数据表进行操作的目标DDL语句,确定所述目标DDL语句对应的第一待执行操作;基于所述第一待执行操作,从所述加锁指示信息中获取所述第一待执行操作所对应的锁类型,作为所述目标加锁指示信息。3.根据权利要求2所述的方法,所述加锁指示信息包括第一加锁指示信息和第二加锁指示信息,所述第一加锁指示信息中存储有不同类型的数据库操作所对应的Online DDL锁和表锁的锁类型,所述第二加锁指示信息中存储有不同类型的数据库操作所对应的表锁的锁类型;基于所述第一待执行操作,从所述加锁指示信息中获取所述第一待执行操作所对应的锁类型,作为所述目标加锁指示信息,包括下述任一项:在所述目标DDL语句为Online DDL语句的情况下,基于所述第一待执行操作,从所述第一加锁指示信息中获取所述第一待执行操作所对应的锁类型,作为所述目标加锁指示信息;在所述目标DDL语句为Offline DDL语句的情况下,基于所述第一待执行操作,从所述第二加锁指示信息中获取所述第一待执行操作所对应的锁类型,作为所述目标加锁指示信息。4.根据权利要求3所述的方法,所述第一加锁指示信息包括下述至少一项:加列操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,加列操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;修改not null约束操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,修改not null约束操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;设置列默认值操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,设置列默认值操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;重命名列操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,重命名列操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;重命名表操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,重命名表操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;
修改行格式/压缩算法操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,修改行格式/压缩算法操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;优化表空间操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,优化表空间操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;加/删约束操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,加/删约束操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;重命名索引操作对应的Online DDL锁为用于对各个数据表进行加锁的表级RS锁,重命名索引操作对应的表锁为用于对主表所有分区进行加锁的分区级RX锁;加/删/重建局部索引操作对应的Online DDL锁为用于对主表进行加锁的表级S锁以及用于对主表所有分区进行加锁的分区级RX锁,或者,加/删/重建局部索引操作对应的Online DDL锁为用于对主表进行加锁的表级RX锁以及用于对主表所有分区进行加锁的分区级S锁,加/删/重建局部索引操作对应的表锁为用于对主表所有分区进行加锁的分区级RS锁;加/删/重建全局索引操作对应的Online D...
【专利技术属性】
技术研发人员:李洪嵚,谢振江,赵裕众,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。