关于对MySQL表添加索引的锁表测试

在MySQL 8.0环境下,对一个包含300W行数据的表添加普通索引时进行了并发测试。在默认的INSTANT算法下,添加索引过程中允许并发数据插入。但通过指定ALGORITHM=COPY,插入操作会被阻塞,直到索引构建完成。这表明不同的ALTER TABLE算法对并发操作有不同的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试着对有着300W行数据的表给某个字段添加一个普通索引,并且在添加的过程中并发的查询数据。

Mysql  8.0

Spring Boot

Mybatis-Plus

JMeter

数据量如下:

直接进行100QPS插入操作,耗时1s:

直接添加索引的情况下,耗时10s:

            

删掉索引,尝试在添加索引的过程中去插入数据:

可以看得出来在添加索引的时候,并没有被锁表,在添加索引期间,还是能insert数据的。

因为更改表操作时MySQL会使用三种算法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值