修改Mysql数据库的索引
修改Mysql数据库的索引案例描述解决说明建立索引删除索引案例描述原来的数据库索引UNIQUE KEY `tablename` (`column1`,`column2`) USING BTREE需要把column1,column2进行调换(以便使用column1进行百万级别查询)。解决没找到直接修改索引的方法(有的话可以大家一起交流),通过先删除后建的方法实现。从效率上考虑也是要重...
·
案例
描述
原来的数据库索引
UNIQUE KEY `tablename` (`column1`,`column2`) USING BTREE
需要把column1,column2进行调换(以便使用column1进行百万级别查询)。
解决
没找到直接修改索引的方法(有的话可以大家一起交流),通过先删除后建的方法实现。从效率上考虑也是要重新建立索引的,所以代价可以接受。
通常使用(推荐)
ALTER TABLE `表名` DROP INDEX 索引名;
ALTER TABLE `表名` ADD UNIQUE 索引名 (`column2`, `column1`) USING BTREE;
// 或者合到一条sql
ALTER TABLE `表名`
DROP INDEX 索引名,
ADD UNIQUE 索引名 (`column2`, `column1`) USING BTREE;
其他方案如下(实践已能用):
## 删除唯一索引UNIQUE_APP_NAME,再重新建立一次
DROP INDEX UNIQUE_NAME ON `tablename`;
CREATE UNIQUE INDEX UNIQUE_NAME ON `tablename` (`column2`, `column1`) USING BTREE;
或者
ALTER TABLE `test`.`uuidtest`
DROP INDEX `test_index`,
ADD INDEX `test_index`(`uuid`) USING BTREE COMMENT '测试注释';
说明
建立索引
方法1
ALTER TABLE 表名 ADD 索引类型 (unique,primary key,fulltext,index)[索引名](字段名)
//普通索引
alter table table_name add index index_name (column_list) ;
//唯一索引
alter table table_name add unique (column_list) ;
//主键索引
alter table table_name add primary key (column_list) ;
方法2
CREATE INDEX index_name ON table_name(username(length));
//create只能添加这两种索引;
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)
删除索引
drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;
更多推荐
所有评论(0)