Mysql中的索引

索引

什么是索引?

索引是系统内部自动维护的隐藏的“数据表”,它的作用是,可以极大地加快数据的查找速度!

这个隐藏的数据表,其中的数据是自动排好序的,其查找速度就是建立在这个基础上。

 

通常,所谓建立索引,其实是指定一个表的某个或某些字段作为“索引数据字段”就可以了,形式为:

索引类型(要建立索引的字段名)

索引类型有如下几个:

普通索引:  形式: key(字段名)

含义: 就是一个索引而已,没有其他作用,只能加快查找速度;

唯一索引:  形式: unique  key(字段名)

含义: 是一个索引,而且还可以设定其字段的值不能重复(唯一性);

主键索引: 形式: primary  key (字段名)

含义: 是一个索引,而且,还具有区分该表中的任何一行数据的作用(其实也是唯一性)

它其实比唯一性索引多一点功能:唯一性可以为空null,而主键不能为空;

全文索引:  形式: fulltext (字段名)。

外键索引:  形式: foreign  key (字段名) references  其他表(对应其他表中的字段名)

 

演示索引创建语法:

 

此时,该表中如果以iduser_name,或email做条件进行查找,就会“很快”,而以age做条件就会“很慢”。

 

外键索引:  

形式: foreign  key (字段名) references  其他表(对应其他表中的字段名)

 

什么叫外键?

外键,就是指,设定的某个表(tab1)某个字段(f1),它的数据的值,必须是在另一个表(tab2)中的某个字段(f2)中存在!

 

 

示例:

 

此时,插入xuesheng表中的数据时,banji_id字段的值,就不可以随便插入了,而是必须是banji表中的id字段所已经有的数据值,才可以插入。

 

posted on 2017-08-15 22:09  好好耕耘  阅读(210)  评论(0编辑  收藏  举报

导航