我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql的索引

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql的索引

mysql的索引

  1. 帮助Mysql高效获取数据的数据结构
  2. 索引就是数据结构
  3. 类似新华字典的索引目录,可以通过索引目录快速查到你想要的字
  4. 排好序的快速查找数据
  1. 提高查询效率 没有排序之前一个一个往后找 通过索引进行排序之后,可以直接定义到想要的位置
  2. 排好序的快速查找数据结构-->就是索引
  1. 索引类似大学图书馆建立的书目索引,提高数据检索的效率,降低数据库的IO成本
  2. 通过索引对数据项进行排序,降低数据排序成本,降低了CPU的消耗
  1. 一般来说, 索引本身也很大, 索引往往以文件的形式存储到磁盘上
  2. 索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录.所以索3引也是要占磁盘空间的
  3. 虽然索引提高了查询速度,但是会降低更新表的速度.
  4. 因为更新表时, MYSQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,
  5. 会调整因为更新所带来的键值变化后索引的信息
  1. 单值索引
    一个索引只包含间个列,一个表可以有多个单值索引 一般来说, 一个表建立索引不要超过5个
  2. 唯一索引 索引列的值必须唯一,但允许有空值
  3. 复合索引 一个索引包含多个列
  4. 全文索引
    MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索, 可以利用全文索引来提高匹配的速度。
  1. 二叉查找树
  2. B-Tree
  3. B+Tree

创建索引

create [UNIQUE] index 索引名称 ON 表名(字段(长度))
alter 表名 add [unque] index[索引名称] on(字段(长度))

查看索引

show index from 表名

删除索引

drop index[索引名称] on 表名

更改索引

添加一个主键,索引必须是唯一索引,不能为NULL

alter table tab_name add primary key(column_list)

创建的索引是唯一索引,可以为NULL

alter table tab_name add unque index_name(column_list)

普通索引,索引值可出现多次

alter table tab_name add index index_name(column_list)

全文索引

alter table tab_name add fulltext index_name(column_list)

索引建立选择

适合建立索引

  1. 主键自动建立唯一索引
    primary
  2. 频繁作为查询条件的字段应该创建索引
    比如银行系统银行帐号,电信系统的手机号
  3. 查询中与其它表关联的字段,外键关系建立索引
    比如员工,部门外键
  4. 频繁更新的字段不适合建立索引
    每次更新不单单更新数据,还要更新索引
  5. where条件里用不到的字段不建立索引
    查询中排序的字段,排序的字段若通过索引去访问将大提升排序速度
    索引能够提高检索的速度和排序的速度
    查询中统计或分组的字段
    分组的前提是必排序

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql的索引

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql的索引

什么是索引帮助Mysql高效获取数据的数据结构索引就是数据结构类似新华字典的索引目录,可以通过索引目录快速查到你想要的字排好序的快速查找数据为什么要建立索引提高查询效率 没有排序之前一个一个往后找 通过索引进行排序之后,可以直接定义到想要的位置排好序的快速查找
mysql的索引
2018-07-12

ElasticSearch索引 VS MySQL索引

这段时间在维护产品的搜索功能,每次在管理台看到 elasticsearch 这么高效的查询效率我都很好奇他是如何做到的。

MySQL索引:B+树索引

MySQL索引:B+树索引B+树索引是传统意义上的索引,这是目前关系型数据库系统中查找最为常用和最为有效的索引。B+树索引的构造类似于二叉树,根据键值快速找到数据B树B+树是由B树演化而来的,在了解B+树之前,我们需要对B树有一点认知。B树全称Balance-
MySQL索引:B+树索引
2021-09-01

[MySQL]MySQL索引

[MySQL]MySQL索引 文章目录 [MySQL]MySQL索引1. 索引的概念2. 认识磁盘磁盘的内部结构磁盘中的一个盘片结构定位扇区磁盘随机访问与连续访问 3. MySQL与磁盘交互的基本单位4. 建立共识5. 索引的
2023-08-17

MySQL 索引

索引的概念不使用索引,要操作某些行时,需要遍历遍历整张表来找到匹配的行,很花时间,且有点耗资源。书:目录=>快速定位到指定章节,不用一页一页地找数据库:索引=>快速定位到指定记录,不用遍历数据表去找,索引相当于数据表的目录  索引的优缺点提高查询效率,尤其是记
MySQL  索引
2018-11-30

Mysql 索引

所谓聚簇索引,就是将索引和数据放到一起,找到索引也就找到了数据,B+树索引就是一种聚簇索引,而非聚簇索引就是将数据和索引分开,查找时需要先查找到索引,然后通过索引回表找到相应的数据。InnoDB有且只有一个聚簇索引,而MyISAM中都是非聚簇索引。 更多详细索
2018-06-24

mysql的索引类型和索引方法

mysql 索引类型包括普通索引、唯一索引、全文索引、空间索引和哈希索引。索引方法有 btree、hash 和 rtree。选择合适的索引类型和方法取决于数据类型和查询模式,例如范围查找使用普通索引或哈希索引,全文搜索使用全文索引,空间查询
mysql的索引类型和索引方法
2024-04-22

MySQL索引

什么是索引?排好序快速查找的数据结构就是索引索引作用提高检索效率,降低数据库对IO成本;降低数据排序,减少cpu消耗索引类型单值索引:一个索引包含单个列,一个表可以有多个单值索引唯一索引:索引值必须唯一,但允许有空值复合索引:一个索引包含多个列基本语法创建索引
MySQL索引
2015-09-15

Mysql-索引

先创建表mysql> CREATE TABLE test( -> id INT, -> username VARCHAR(16), -> city VARCHAR(16), -> age INT -> );1.普通索引是最基本的索
Mysql-索引
2014-05-24

[MySQL] mysql索引的长度计算和联合索引

1.所有的索引字段,如果没有设置not null,则需要加一个字节。2.定长字段,int占4个字节、date占3个字节、char(n)占n个字符。3.变长字段,varchar(n),则有n个字符+两个字节。4.不同的字符集,一个字符占用的字节数不同。latin
[MySQL] mysql索引的长度计算和联合索引
2021-12-22

MySQL的B+树索引和hash索引的区别

简述一下索引:索引是数据库表中一列或多列的值进行排序的一种数据结构;索引分为聚集索引和非聚集索引,聚集索引查询类似书的目录,快速定位查找的数据,非聚集索引查询一般需要再次回表查询一次,如果不使用索引就会进行全表扫描;还有可以进行多字段组成联合索引,但是要符合最
MySQL的B+树索引和hash索引的区别
2016-10-05

mysql的联合索引(复合索引)的实现

联合索引 本文中联合索引的定义为(MySQL):ALTER TABLE `table_name` ADD INDEX (`col1`,`col2`,`col3`);联合索引的优点 若多个一条SQL,需要多个用到两个条件SELECT * FR
2022-05-29

MySQL索引篇

目录 MySQL索引一、怎么知道一条SQL语句有没有使用索引?二、如何排查慢查询三、索引失效以及为什么失效四、索引为什么能提高查询性能五、为何选择B+树而不是B树六、索引分类七、什么时候创建以及什么时候不需要索引八、索引优化
2023-08-19

编程热搜

目录