13.索引

索引是帮助MySQL高效获取数据的数据结构

索引分类

  • 主键索引 PRIMARY KEY  唯一标识,主键不可重复
  • 唯一索引UNIQUE KEY   避免重复的列,可以重复,多个列都可以标识为唯一索引
  • 常规索引KEY/INDEX    默认的
  • 全文索引FULLTEXT     在特定的数据库引擎下才有,Myisam 快速定位

显示所有的索引信息

SHOW INDEX FROM `student`

增加一个索引

ALTER TABLE school.student ADD FULLTEXT INDEX `sname`(`sname`);

EXPLAIN 分析SQL的执行状况

EXPLAIN SELECT * FROM `student` ;  --非全文索引

EXPLAIN SELECT * FROM `student` WHERE MATCH(`sname`) AGAINST ('张');

  --插入100万数据

DELIMITER $$   --写函数之前必须要写,标志
CREATE FUNCTION mock_data()
RETURNS INT
BEGIN
DECLARE num INT DEFAULT 1000000;
DECLARE i INT DEFAULT 0;
WHILE i < num DO
  INSERT INTO app_user(`name`, `email`, `phone`, `gender`, `password`, `age`)
   VALUES(CONCAT('用户', i), '24736743@qq.com', CONCAT('18', FLOOR(RAND()*(999999999-100000000)+100000000)),FLOOR(RAND()*2),UUID(), FLOOR(RAND()*100));
  SET i = i + 1;
END WHILE;
RETURN i;
END;

 

上一篇:人工水母搜索算法—matlab代码


下一篇:Go语言 随机数rand