MySQL索引
程序员文章站
2022-06-01 23:23:04
...
index---索引--相当于书的目录 为了提高查询的效率
会将对应列的值以大小顺序来存储 查询时可以使用一些比如折半查找这些算法来提高效率 正常的一张表,是无序,如果要进行查询(select)操作,理论上会将表中所有记录进行遍历。并且每次查询都需要从第一条到最后一条挨个查找,以防查漏。这样显然是低效的。 为了解决这个问题,引入了索引的概念。索引是将记录按照某个关键字段(key)进行排序,因此,索引的存在是为了便于检索,使得检索查询更加的快速、高效。
索引的结构
最常用的一种保存索引的结构是B树(Balanced Tree,平衡树),是一种像枝叶扩散的树状结构
通过这样的树状结构,原本需要遍历所有的记录,进行n次查询,现在最多只要log2(n)次查询
索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。表越大,花费时间越多。 如果表对于查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要考虑所有数据。
alter table goods add index pindex(price)
创建索引
create index 索引名 on 表名(列名);
查看索引
show index 表名
删除索引
Drop index 索引名 on 表名
上一篇: 沈逸老师PHP魔鬼特训笔记(5)