是时候该对你的数据库做一次全面体检啦_光环大数据培训是时候该对你的数据库做一次全面体检啦_光环大数据培训.pdf

是时候该对你的数据库做一次全面体检啦_光环大数据培训是时候该对你的数据库做一次全面体检啦_光环大数据培训.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
是时候该对你的数据库做一次全面体检啦_光环大数据培训是时候该对你的数据库做一次全面体检啦_光环大数据培训

光环大数据--大数据培训知名品牌 是时候该对你的数据库做一次全面体检啦_光环大数据培训 光环大数据培训机构,数据库作为一个大型的并发存储系统,其内部设计极其复 杂,开发者在使用数据库时,面临着可用性、可靠性、性能、安全、扩展性等多 重挑战,这就使得数据库的使用具有较高的技术门槛。一般大型团队都会雇佣专 职的DBA 来维护数据库的日常运行,指导开发者建立正确的使用姿势,但是对于 一般的中小型团队,受限于人力成本,这种模式难以实现。随着DevOps 理念的 流行,开发者开始更多的参与和承担数据库的运维工作,其中就包括对数据库的 定期巡检。 对数据库定期进行健康检查是数据库日常维护的重要环节,通过检查数据库的各 项运行指标,评估系统的运行风险,提前将风险消灭在摇篮中,能够有效提高数 据库服务的质量,今天我们就来聊聊开发者如何对数据库进行健康检查。 数据库的健康检查涉及索引设计、容量规划、服务安全、参数配置、用户访问、 集群复制6 个方面。 索引设计 合理的索引设计能够有效加速数据库的访问,提高查询的执行效率,减少用户查 询对服务端的资源消耗。但是不合理的、低效的、冗余的甚至无效的索引不仅无 法起到加速查询的效果,反而会影响数据库的插入、更新性能,甚至是数据库的 高可用方案能否生效。 主键索引缺失 : 由于MySQL 默认存储引擎InnoDB (MySQL 5.6 版本 以上)使 用的是聚簇索引表设计,这就要求所有的表必须包含一个主键,所有的数据记录 光环大数据 光环大数据--大数据培训知名品牌 按照主键次序构建B+树。如果用户在创建表时显式指定主键,则数据库会使用 用户指定的主键构建B+树,但是如果用户没有显式指定主键,同时也没有创建 任何唯一键索引,InnoDB 为了确保每张表至少包含一个主键,则默认会为用户 生成一个 “隐含主键”,该主键对用户不可见,甚至对于MySQL Server 层的 binlog 也不可见。 binlog 是连接MySQL 主从复制节点的纽带,所有主节点的更新都是通过binlog 传递给从节点的,一旦binlog 中没有更新记录的主键ID,这就会导致基于Row 格式的binlog 在从节点执行时,无法唯一确定一条记录,只能通过全表扫描来 进行匹配,大幅降低了从机的执行效率,造成复制延迟。如果是高可用故障切换 的从节点,会导致切换的时间大幅增加,甚至会导致高可用机制失效。如果是实 现读写分离的只读从节点,则会导致应用读到的数据可能是很久以前的旧数据。 所以我们建议使用InnoDB 存储引擎的MySQL 用户在创建表时,必须显式指定主 键。 主键索引与业务相关 :如果用户在创建表时指定的主键与业务相关,可能会被 频繁的更新,这样会引起MySQL 数据库的InnoDB 存储引擎进行频繁的节点合并 和分裂,造成大量额外的系统IO 开销,影响数据库的插入和更新性能。我们推 荐开发者在创建表时指定与业务无关的自增字段作为主键,这样不仅会提高按时 间序插入的性能(顺序写入硬盘),同时也可以提高按插入时间范围检索的查询 效率。 光环大数据 光环大数据--大数据培训知名品牌 冗余索引 :如果一个索引涉及的字段属性包含另外一个索引涉及的字段属性, 同时两个索引字段顺序一致,且两个索引的首字段属性相同,则可以认为涉及字 段少的索引为冗余索引。在MySQL 5.7 推出sys 库之前,我们可以通过percona 的工具pt-duplicate-key-checker 来完成对冗余索引的检查,在MySQL 5.7 中, 我们可以通过sys 库schema_redundant_indexes 表来完成。 低效索引 :索引的作用在于通过索引,查询能够扫描更少的记录。数据库中的 记录在索引字段区分度越高,扫描的记录数就越少,执行的效率就越高。如果数 据库表中的记录在索引字段区分度不大,索引对记录的筛选结果就不明显,索引 就无法起到加速查询的作用。通过数据库记录在索引字段的区分度,我们可以衡 量索引的执行效率。 MySQL 系统库mysq

文档评论(0)

tazhiq2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档