mysql索引

33 篇文章 0 订阅
32 篇文章 0 订阅

索引

1:什么是索引?
索引其实就是一种为了加速对数据表中的数据行的检索从而创建的分散存储的数据结构(也可以打个比喻:就是书中的目录)
注意:

1: 一般关系型数据库的中的索引是 硬盘级索引,就是说索引是存放在硬盘中的
2:如果程序访问我们数据库中的数据行数如果是几万的数据的规模的话,其实我们无需在意索引,但是当数据规模达到几千万上亿的情况下我们一般就会使用到索引

2:索引的作用:
索引在数据库中的作用其实是类似于目录在书本中的作用,用来提高查找信息的速度,用索引查找信息的时候,无需对整张表进行扫描,可以快速的找到所需数据

3:底层是怎么实现的?
比如在现在主流的数据库中,oracle使用的是B-树,mysql使用的是B+树。
其实我们我们索引树中节点对应的是磁盘中的某一页(因为当数据量很大的时候,索引也很大,不可能全部加载到内存中去),所以这样我们就是可以实现 局部加载,来避免索引太大,导致内存溢出的情况
因为索引是存放在磁盘上的,为了提高磁盘的读取速度,所以说索引树英爱是矮胖矮胖的,而不是像二叉树一样,当索引很多的时候,深度很深,导致频繁的读取磁盘等IO操作,这是非常非常耗时的,所以说 索引树应该是多叉并且矮胖

4:mysql索引有哪些?

1:主键索引 primary key:唯一且不能为null
创建主键索引:直接在建表的时候在字段后面加上primary key
修改表alter table tablename add primary key(列名)
每个表只有一个主键

2:普通索引 :这是最基本的索引类型,而且他是没有唯一性之类的限制
创建普通索引:create index indexName on tablename (username(length))
删除:drop index [indexName] on table
或者直接在表中进行建立

3:唯一索引:unique
这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。

4:全文索引
MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引可以在CHAR、VARCHAR或者TEXT类型的列上创建。它可以通过CREATE TABLE命令创建,也可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值