数据库索引及树形结构简介(二)

索引的创建是否和存储引擎挂钩?

即表示不同的数据在磁盘里不同的存储形式
比如innodb,frm是结构,ibd是数据加上索引
frm是结构,ibd是数据
又或者myisam,frm是结构,MYD是数据,MYI是索引
在这里插入图片描述
数据结构都是B+树,但是其组织结构是不一样的,在这里又有两个概念,即

聚簇(聚合)索引 :数据和索引是否是放在一起的
非聚簇索引:数据和索引不是放在一起的

innodb

只能有一个聚簇索引,向innodb的表中插入数据是一定要有一个索引的key,如果没有建立索引,那可以是主键索引,如果没有主键索引,那就是表自生成的6字节的rowid(mysql是行的读取)
可以有很多个非聚簇索引
在这里插入图片描述
在这里插入图片描述

现在知道为什么要去掉数据不需要携带的字段了吧?

innodb支持表锁,又支持行锁
支持外键、支持事物,而myisam不支持,5.7之后mysql表默认就是索引引擎innodb
这里索引下推和最左匹配请自行百度哈哈哈,一般面试当中mysql的索引主要就innodb就可以了
具体的选择和优化要根据自己的业务需求出发考虑,比如mysql所处的服务器内存足够大的时候,innodb是可以的,想知道自行百度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值