mysql索引

海纳百川有容乃大谢谢各位大牛的分享、感谢各位同仁的访问、还望不吝赐教mysql消耗资源的点:CPU:比较、排序、SQL解析、函数或逻辑运算 内存:缓存数据访问,临时数据存放 硬盘:冷数据读取、大数据量排序和关联,数据写入落盘 网络资源:sql请求交互,结果集返回这些很多都借助了索引,那么索引是什么?表没有索引会变成什么样,或许循规蹈矩听‘插入’的指挥按顺序一条条的躺在磁盘上又或许缺乏想象力的我想换个话题,可能他也就只有这一种选择了吧表加了索引,自增主键、立刻注入了新鲜..
摘要由CSDN通过智能技术生成

海纳百川有容乃大

谢谢各位大牛的分享、感谢各位朋友的访问

 

mysql消耗资源的点:

  • CPU:比较、排序、SQL解析、函数或逻辑运算
  • 内存:缓存数据访问,临时数据存放
  • 硬盘:冷数据读取、大数据量排序和关联,数据写入落盘
  • 网络资源:sql请求交互,结果集返回

这些很多都借助索引减轻自己的‘罪过’,那么索引是什么?

 

表没有索引会变成什么样,或许循规蹈矩听‘插入’的指挥按顺序一条条的躺在磁盘上又或许缺乏想象力的我想换个话题,可能他也就只有这一种选择了吧

表加了索引,自增主键、立刻注入了新鲜血液 活蹦乱跳变成了树状结构,是不是想起了聚簇索引,聚簇索引:主索引文件和数据文件是同份文件,主键一定是聚簇索引

 

分类

普通索引,无限制加速查

create index index_name on tableName(field);
alter table tableName add index index_name(field);

1、唯一索引

值唯一,容许空,组合索引则列值的组合必须唯一
 

create unique index ……

alter table tableName add unique index ……

2、主键索引

特殊唯一索引,一个表只能有一个,不容许空,一般建表是创建

 

3、组合索引

多个字段上创建的索引,最左前缀原则

语句同普通索引,field为多个,逗号隔开;如有(col1,col2,col3)

叶子节点是:没错 懒得画 拷一份过来 说实话有些丑 ^_^还是谢谢作者,链接自跳

å¨è¿éæå¥å¾çæè¿°据name字段从辅助聚簇索引定位到哪一叶子节点,据age在上述表格寻找,找出所有符合的数据及其对应的ID,据ID回表查

 

4、全文索引

查找文本中关键字,fulltext更像搜索引擎,不推荐使用,所以不写了

 

i、聚簇索引,非聚簇索引

聚簇索引具有唯一性,他的顺序是数据的物理存储顺序(各数据按索引序存放),索引相邻、对应数据相邻、就这样完美紧凑,和主键自增相契合,如果主键不是自增,为了找相邻的伙伴寻道分页多麻烦!

 

非聚簇索引的索引顺序和数据物理排列顺序无关,叶子节点上的data是主键:记录的地址可能会变、主键不会

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值