数据库--索引

索引
sql

索引是对数据库表中一个或多个列的值进行排序的结构。若是想按特定职员的姓来查找他或她,则与在表中搜索全部的行相比,索引有助于更快地获取信息。数据库


没有索引的状况下,若是执行select * from test_info where id=1000;这条语句会从表中的第一行一直搜索到第1000行,而在这列添加索引以后,就会经过索引快速定位到这一个字段。ide


索引的分类:spa

一、分为聚簇索引和非聚簇索引两类聚簇索引能提升多行检索的速度,而非聚簇索引对于单行的检索很快。3d

二、惟一索引:不容许两行有相同的值blog

三、主键索引:为表定义一个主键将自动建立主键索引,主键索引是惟一索引的特殊类型。主键索引要求主键中的每一个值是惟一的,而且不能为空。排序

四、普通索引: 没有任何的限制。索引



索引的建立:get

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是惟一的,且不能为NULL。it


ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句建立索引的值必须是惟一的(除了NULL外,NULL可能会出现屡次)。


ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现屡次。


ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。



索引的删除:

ALTER TABLE tb1_name DROP INDEX index_name


使用 show index from tablename;能够查询已经设置的索引。


下面是索引的添加删除和查看的一个例子:(my_sql下)

wKioL1dmRXCARsFAAAD-hJSP1SQ801.png



总结:

建立索引后不只能加快检索速度并且还会对检索出来的数据进行排序。

有利必有弊,建立索引会消耗空间,使数据的加载变慢,因此添加索引不要冗余,

适当的添加会大大增长数据库查询的效率。

相关文章
相关标签/搜索