MySQL5.7新特性之更改索引名字不会锁表
发布时间:2022-06-29 12:49 所属栏目:115 来源:互联网
导读:MySQL5.7在更改索引名字时候不会锁表,测试过程如下: 点击(此处)折叠或打开 mysql select count(*) from T_USER_INFO; +----------+ | count(*) | +----------+ | 7147528 | +----------+ 点击(此处)折叠或打开 mysql select version(); +------------+ | v
MySQL5.7在更改索引名字时候不会锁表,测试过程如下: 点击(此处)折叠或打开 mysql> select count(*) from T_USER_INFO; +----------+ | count(*) | +----------+ | 7147528 | +----------+ 点击(此处)折叠或打开 mysql> select version(); +------------+ | version() | +------------+ | 5.7.18-log | +------------+ 点击(此处)折叠或打开 mysql> show create table T_USER_INFO \G *************************** 1. row *************************** Table: T_USER_INFO Create Table: CREATE TABLE `T_USER_INFO` ( `USER_NAME` varchar(50) DEFAULT NULL, `PHONE` varchar(50) DEFAULT NULL, `CARD_ID` varchar(50) DEFAULT NULL, KEY `idx_user_info_name` (`USER_NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) 此时打开两个窗口,同时进入MySQL命令行 窗口一: 点击(此处)折叠或打开 mysql> alter table T_USER_INFO rename index idx_user_info_name to idx_user_info_nm; 窗口二: 点击(此处)折叠或打开 mysql> select * from T_USER_INFO where user_name='rz19930119'; 先执行更改索引名字的语句,语句执行完之前,执行第二个查询。在索引名字更改完之前,查询语句可以正常执行。 结论:1、MySQL5.7更改索引不会锁表(尽管这是个鸡肋的特性,因为一般不会更改索引名字) 2、MySQL5.7增加了alter table tablename rename index idxname1 to idxname2的语法,在5.7之前的版本,更改索引名字只能采取先删除再创建的方法。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读