[镜像] 练习-MySQL 索引优化难点解决

镜像 海牛博士 ⋅ 于 2024-12-30 11:25:46 ⋅ 48 阅读

镜像详情地址:https://cloud.hainiubl.com/#/excellentImageDetail?id=24611&imageType=excellent

点击镜像详情页面最下方的“添加到实验配置”按钮可直接运行该实战镜像

一、需求说明

在我们Mysql表设计时,难免会遇到一些场景造成表中出现大字段。比如:

  1. 常见的备查字段:

    比如我们经常会按照where A='xxx' and B='xxx' .....and X='xxx' 这么来组合查询,那么备查字段可以将要查的字段,按顺序组合存到一个备查字段中,这样我们就可以实现where M='xxx_xxx_xxx_xxx'来代替需求

  2. 业务的灵活多变,使一个字段存储的数据变的越来越大

    比如:我们常见一些工业设备在收集设备数据时,原本的故障代码字段,只会存储 E01: 电机过载E02: 电机过热S01: 温度传感器故障S02: 压力传感器故障S03: 湿度传感器故障 等信息,但是需求的变化,导致需增加其他的额外信息,例如 ’时间戳‘, '处理状态','建议措施'等字段,为了不频繁修改原表,可以将上述信息统一存放在一个字段中,通过代码的方式控制所查数据。

为了查询数据快,我们的第一感觉是创建索引

接下来我们讨论一下如果面试官问了以下问题,那么你该如何回答?:

  1. 针对这些有索引大的字段,我们在进行一些等值查询的时候,比如: *select from xx_tab where a=’xxxxxxxx‘会走索引吗**?

  2. 即使索引命中了,你的查询就一定快吗?

二、环境介绍

机器介绍

  • 一台mysql机器
  • 一台Java开发机

流程介绍

  1. 打开idea并执行已写好的查询案例

  2. 优化索引,针对要优化的索引,创建MD5数据列

  3. 给新的MD5列创建索引

  4. 重新编写新的查询逻辑,完成查询需求
您没有该镜像的运行权限,所以无权查看该笔记

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-海牛博士,http://hainiubl.com/topics/76596
点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter