前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[日常] 高性能MySQL-索引

[日常] 高性能MySQL-索引

作者头像
唯一Chat
发布2019-09-10 12:34:36
7530
发布2019-09-10 12:34:36
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

1.mysql的索引工作类似一本书的目录部分,想找某个特定主题,先查找书的目录部分,找到对应的页码 2.ORM工具只能生成基本的合法的查询 3.索引是在存储引擎层实现的,不是服务器层 4.B-tree就是指的B树,多叉平衡查找树,很多存储引擎使用的b+树,降低磁盘I/O操作,将随机i/o变成顺序i/o 5.b树意味着所有的值是按顺序存储的,每个叶子页到根的距离相同,叶子页存储了指向下一个叶子页的指针 6.存储引擎不需要全表扫描,从索引的根节点开始进行搜索 7.b树索引还可以用于order by和group by 操作 8.只有memory引擎显式支持哈希索引,只支持等值比较=查询速度非常快 9.在b树基础上创造伪哈希索引,自定义个哈希函数加个字段存储,查询语句类似:select * from test where crc_32('haha') and content='haha' 10.三星评价系统:一星 索引将相关记录放一起;二星 数据顺序和查找顺序一致;三星 索引中包含了全部查询列 11.扩展:增加个元数据信息表,例如"哪个用户的信息存储在哪个表中"

高性能的使用索引策略 1.独立的列 2.前缀索引和索引选择性; 每个列的前几个字符 和 不重复的索引对总记录数的比值 尽量让这个前缀的选择性和完整列的选择性接近,选择性越高越好,这样索引会小点 select count(distinct name)/count(*) as sel from test 3.多列索引,注意是否出现索引合并现象 4.选择合适的索引列顺序 选择性高的字段放在前面 5.聚簇索引,innodb支持 6.覆盖索引,不需要回表

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档