1.建唯一索引
(1)先查询表中有哪些键
show COLUMNS FROM tb_name
示例:
结果:
(2)若想建唯一索引的字段没有唯一索引,可先查询其是否重复。
SELECT column_name,count(*) FROM tb_name GROUP BY column_name HAVING count(*) > 1
示例:
结果:
若有重复,查询有结果。没有重复,查询无结果。
(3)建唯一索引
ALTER TABLE table_name ADD UNIQUE (
column_name
);
示例:
二:加普通索引,读写分离查询快。
alter table tb_name add index index_name(说明:索引名) (column_name);
示例:
alter table tb_order add index order_code_index (order_code);
补充:查询表中有哪些索引
show index from tb_name
三:修改主键为自增。
业务中没有设置主键自增,后来又需要自增。执行下面语句
<!--修改主键自增-->
ALTER TABLE tb_name CHANGE 原主键名 新主键名 BIGINT AUTO_INCREMENT;
<!--设置自增后起始值-->
set @a=1;
set @a = @a + (SELECT max(id) from tb_name);
<!--修改主键从设置的a开始自增-->
ALTER TABLE tb_name AUTO_INCREMENT= @a;
示例:
注意:①若原表中存在主键id为0的无法设置为自增。②若无需修改主键字段,只修改主键自增,则原主键名与新主键名保持一致。