前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL索引规则

MySQL索引规则

作者头像
只喝牛奶的杀手
发布2019-09-24 10:41:03
1.1K0
发布2019-09-24 10:41:03
举报

InnoDB 底层存储结构为B+树, B树的每个节点对应innodb的一个page,page大小是固定的,一般设为 16k。其中非叶子节点只有键值,叶子节点包含完成数据。

索引(Index)是帮助 MySQL 高效获取数据的数据结构。但是索引的规则有哪些呢?

  • 索引一定要命名规范,哪个库哪个表哪几个字段哪种类型索引
  • 选择唯一性索引——唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录
  • 为经常需要排序、分组和联合操作的字段建立索引
  • 为常作为查询条件的字段建立索引
  • 限制索引的数目:越多的索引,会使更新表变得很浪费时间。
  • 尽量使用数据量少的索引,大字段尽量不要使用索引,如果使用用MD5值
  • 如果索引的值很长,那么查询的速度会受到影响
  • 尽量使用前缀来索引-如果索引字段的值很长,最好使用值的前缀来索引
  • 删除不再使用或者很少使用的索引
  • 最左前缀匹配原则
  • 尽量选择区分度高的列作为索引区分度的公式是表示字段不重复的比例
  • 索引列不能参与计算,保持列“干净”:带函数的查询不参与索引
  • 尽量的扩展索引,不要新建索引
  • 尽量索引覆盖,不要回表操作
  • 如果是多个索引,指定索引提高查询效率

索引固然可以提高查询效率的,但是也有自己的局限性,数据搜索还是适合用ElasticSearch,但是mysql要做持久化,同步ES两种方法:一种是ES的java API接口,另外一种是通过binlog日志,你们是怎么用的?


每周一句:他强由他强,清风拂山岗。他横任他横,明月照大江。直面自己的恐惧和焦虑,做一个内心强大的人!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 只喝牛奶的杀手 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档