前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第七章《索引》

第七章《索引》

作者头像
互联网-小阿宇
发布2022-11-21 17:27:06
2400
发布2022-11-21 17:27:06
举报
文章被收录于专栏:互联网-小阿宇互联网-小阿宇

1.mysql默认的查询方式是遍历整个表: 什么是索引:索引记录的是数据的的存储位置,他是一种特殊的数据结构,索引可以提高查询的效率, 他是独立于数据表之外的

MyISAM、InnoDB支持btree和b+tree索引,Memory支持btree和hash索引,每一个表至少 可以添加16个索引,总的索引长度至少256字节;

常用的索引类型 1.主键索引 2.唯一索引和普通索引 3.单列索引和组合索引 4.全文索引 5.空间索引

主键和唯一索引;不但可以提高查询效率,还对索引字段的值进行条件限制,unique唯一索引字段的值必须具有唯一性,primary key 主键索引字段的值是唯一且非空 其他的索引作用是提高查询效率 创建索引的语法; 1.在创建表的时候添加索引: CREATE TABLE 表名 [字段名 数据类型] [ unique 唯一索引] [fulltext 全文索引] [spatial 空间索引] INDEX|KEY [索引名] 索引字段(length) [ASC|DESC] 2.给已经创建好的表添加索引; (1)ALTER TABLE 表名 ADD[ unique 唯一索引] [fulltext 全文索引] [spatial 空间索引] INDEX|KEY [索引名 )] 索引字段 (length)[ASC|DESC] (2)CREATE INDEX [ unique 唯一索引] [fulltext 全文索引] [spatial 空间索引] INDEX|KEY [索引名 ] ON 表名(索引字段);

创建普通索引普通索引是最基础的索引类型,没有唯一性限制,作用是只加快对数据的访问速度

在这里插入图片描述
在这里插入图片描述

查看索引

在这里插入图片描述
在这里插入图片描述

创建唯一索引唯一索引主要作用是减少查询索弓|列操作的执行时间,而且还对该列的值进行唯一性限制,但允许有空值。

在这里插入图片描述
在这里插入图片描述

单列索引; 普通索引包含单列和组合索引;单列索引就是给数据表中的某一列添加索引,一张表中可以添加多个单列索引;

在这里插入图片描述
在这里插入图片描述

组合索引: 是在多个字段上创建一个索引,遵循最左前缀原则。比如现在有一个组合索引(id,name,age),实际作用相当于添加了三个索引: (id), (id,name),(id,name,age)

在这里插入图片描述
在这里插入图片描述

全文索引: FULLTEXT 只有myisam引擎支持全文索引,并且只为并且只为char/varchar/text列添加。索引总是对整个列进行,不支持局部索引,适合大型数据表的创建

在这里插入图片描述
在这里插入图片描述

空间索引(spatial) 只有myisam引擎支持空间索引

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在已经存在的表上创建索引; ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX [索引名] 索引字段(length); CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名(索引字段);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

见证查询有没有用到索引:explain的用法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除索引: ALTER TABLE DROP INDEX 索引名;

在这里插入图片描述
在这里插入图片描述

2.drop index 索引名 on 表名;

创建索引的规则; (1)创建索引并非越多越好; (2)数据量小的表最好不要创建索引; (3)避免对经常更新的数据创建索引; (4)在条件表达式中经常用到的不同值较多的列创建索引(where子句中常用的字段); (5)当唯一性是某种数据本身的特征时,我们创建唯一索引; (6)主键本身就是索引; (7)在频繁进行排序或分组的列上建立索引;如果排序的列有多个还可以创建组合索引

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档