索引原理
eg:没有索引,要查一个字段要每一个都查
但有了索引,就只要查一个就好了,
主键索引(PRIMARY KEY)
唯一的标识,主键不可重复,只能有一个列作为主键
唯一索引(UNIQUE KEY)
避免重复的列出现,唯一索引可以重复,多个列都可以标识位 唯一索引
常规索引(KEY/INDEX)
默认的,index。key关键字来设置
全文索引(FullText)
在特定的数据库引擎下才有,MyISAM
快捷定位数据
-- 索引的使用 -- 1.在创建表的时候给字段增加索引 -- 2.创建完毕后,增加索引 -- 显示所有的索引信息 SHOW INDEX FROM student -- 增加一个全文索引(索引名)列名 ALTER TABLE school.`student`ADD FULLTEXT INDEX `studentname`(`studentname`); -- ALTER TABLE(改变表格) 数据库名.表格名 ADD FULLTEXT INDEX(增加一个全文索引) 索引名(列号) -- explain 分析sql执行的状况 EXPLAIN SELECT * FROM student; -- 非全文索引 EXPLAIN SELECT * FROM student WHERE MATCH(`studentname`)AGAINST('张');
-- 插入索引
-- 索引名 ===id_表名_字段名
-- create index 索引名 on 表名(字段名)
CREATE INDEX id_student_name ON `student`(`studentname`);
索引在小数据的时候用处不大。但在大数据的时候很明显。
没加索引时:
eg:一百万条数据,查询了991749条数据才查到的。

查询了1s才查到,但一个网站一个人1s,网站要崩掉

加了索引才0.001s差距还是很大的


索引原则:
索引不是越多越好
不要对经常变动的数据加索引(变动一次,要更新一次索引)
小数据量的表不要加索引(没必要,500条一下,就是浪费,看不出来效果)
索引一般加在常用来查询的字段上
本文来自博客园,作者:阿霖找BUG,转载请注明原文链接:https://www.cnblogs.com/lin-07/articles/16243873.html
浙公网安备 33010602011771号