索引
一、索引概念 1.什么是索引: 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。 索引就是一种数据结构,类似于书的目录。意味着以后再查数据应该先找目录再找数据,而不是用翻页的方式查询数据 本质都是:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件(比如书没目录就只能随机翻),也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据(永远就是按照索引去找,不用正着翻反着翻了)。 补充:innodb引擎只有表结构和数据两个文件夹,不像myisam三个文件有单独的索引文件,表结构中不可能放别的,所以索引是和数据放在一个文件中的 2.三种索引(键): primary key unique key index key 注意foreign key不是用来加速查询用的,不在我们研究范围之内, 上面三种key前两种除了有加速查询的效果之外还有额外的约束条件(primary key:非空且唯一,unique key:唯一),而index key没有任何约束功能只会帮你加速查询 3.索引的影响(缺点): 在表中有大量数据的前提下,创建索引速度会很慢 (例如一本书特别厚,你需要一页一页去查看有什么内容一页一页建目录,所以如果数据量特别大时你命令敲完之后,终端会卡很长一段时间去疯狂的建索引) 在索引创建完毕后