人们时常把索引比作是书本的目录,是一种用来提高数据库查询效率的方法,通过在指定字段上创建索引来提高查询效率;那么为什么使用索引可以提高效率,以及如何添加,删除和查询索引,查询创建的索引是否真正起作用,注意事项等,一一说明:
索引的定义:对数据库中某一列或者多列(创建索引时指定)中的值进行排序并与表中结构一一映射的数据结构;索引生成的具体数据结构,有可能各不相同;这属于索引的具体实现;不在此做讨论,具体类型查看将会在之后说到;
索引的高效率主要体现在两点;
1)数据一般情况都是有顺序的,减少了查询扫描的行数;
2)索引数据结构一般采用各种二叉树的升级版来生成,这样的话查询比较更高效,二分比较法;
B树索引:已B树为数据结构而创建的索引,B树的特点是每个叶子节点到树根节点的距离都是相等的;B树结构如下图;
红色箭头表示,根到叶子节点的距离,判断一次距离+1;
索引的创建:
create index 索引名称 on 表名(列名,。。。);//其中列名可以是单一列或者多列;
如表结构如下:
CREATE TABLE IF NOT EXISTS `vip_broadcastor` ( `id` int NOT NULL AUTO_INCREMENT, `employ_id` char(32) NULL COMMENT '关联的员工信息表id', `code` VARCHAR(50) NULL COMMENT '播主编码', `room_id` int NULL COMMENT '播间ID', `online_time