mysql索引学习

1.索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以[b]B-[/b]树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 索引能提高查询速度 但是会增加磁盘空间存储 减慢插入 更新 删除速度(因为对数据操作后还需对索引操作)所以他是一种以空间为时间的策略,一般情况下 读频繁的表考虑索引 而写频繁的尽量避免多索引。

2.mysql索引有 普通索引 唯一索引 主键 和 全文索引

3.单列索引 和 多列索引(最左原则)

4.索引的使用(在where子句里出现的字段 和join子句里出现的字段要考虑加上索引 有唯一性的 要考虑加上唯一索引)

5.对于组合索引 遵循左原则: 如组合索引index_c1c2 对应sql1:select * from t where c1='a' and c2='b';有效(先用c1然后用c2) 对应sql2:select * from t where c1='a';有效(用到c1)对应sql3:select * from t where t2='b';无效(因为是从左用起 不能跳跃到C2)

6.索引是在存储引擎里实现的 不是在服务器层实现的所以 并不是所有的存储引擎都具有全部索引类型的

7.mysql中 只有memory支持hash索引 只有innodb支持聚簇索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值