大家好,我是IT修真院西安分院第四期学员,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务一,扩展思考中的知识点——什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?
1.背景介绍
词语解释
[index] 根据一定需要,把书刊中的主要内容或各种题名摘录下来,标明出处、页码,按一定次序分条排列,以供人查阅的资料。也叫“引得”。
什么是数据库索引
「索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容」
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
2.知识剖析
索引的类型
mysql索引的四种类型:主键索引、唯一索引、普通索引和全文索引。
主键索引:
主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。
唯一索引:
索引列的所有值都只能出现一次,即必须唯一,值可以为空。
普通索引 :
基本的索引类型,值可以为空,没有唯一性的限制。
全文索引:
全文索引的索引类型为FULLTEXT。全文索引可以在varchar、char、text类型的列上创建。可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。MyISAM支持全文索引,InnoDB在mysq