mysql添加索引

如果userinfo表中存在idx_name索引,则先删除再添加。否则直接添加索引

使用事务添加索引

#添加索引说明
USE test;/*库名*/
DROP PROCEDURE IF EXISTS schema_change;  
DELIMITER //
CREATE PROCEDURE schema_change()
BEGIN 
DECLARE  CurrentDatabase VARCHAR(100);
SELECT DATABASE() INTO CurrentDatabase;
IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name ='userinfo'/*表名*/
 AND index_name  = 'idx_uname'/*字段名*/ )
    THEN  
     ALTER TABLE `userinfo` ADD INDEX `idx_uname` (`uname` ASC);
    ELSE
    ALTER TABLE `userinfo` DROP INDEX `idx_uname` ,ADD INDEX `idx_uname` (`uname` ASC);
END IF; 
#如需继续修改其他字段,请在这里复制以上 IF NOT----END IF部份,并修改
END//
DELIMITER ;  
CALL schema_change();

  创建索引,除了ALTER TABLE还可以使用create index

create index idx_uname on userinfo (uname);

  

 

posted @ 2018-11-16 20:19  DreamGiant  阅读(1187)  评论(0编辑  收藏  举报