镜像详情地址:https://cloud.hainiubl.com/#/excellentImageDetail?id=24611&imageType=excellent
点击镜像详情页面最下方的“添加到实验配置”按钮可直接运行该实战镜像
一、需求说明
在我们Mysql表设计时,难免会遇到一些场景造成表中出现大字段。比如:
-
常见的备查字段:
比如我们经常会按照where A='xxx' and B='xxx' .....and X='xxx' 这么来组合查询,那么备查字段可以将要查的字段,按顺序组合存到一个备查字段中,这样我们就可以实现where M='xxx_xxx_xxx_xxx'来代替需求
-
业务的灵活多变,使一个字段存储的数据变的越来越大
比如:我们常见一些工业设备在收集设备数据时,原本的故障代码字段,只会存储
E01
: 电机过载E02
: 电机过热S01
: 温度传感器故障S02
: 压力传感器故障S03
: 湿度传感器故障 等信息,但是需求的变化,导致需增加其他的额外信息,例如 ’时间戳‘, '处理状态','建议措施'等字段,为了不频繁修改原表,可以将上述信息统一存放在一个字段中,通过代码的方式控制所查数据。
为了查询数据快,我们的第一感觉是创建索引。
接下来我们讨论一下如果面试官问了以下问题,那么你该如何回答?:
-
针对这些有索引大的字段,我们在进行一些等值查询的时候,比如: *select from xx_tab where a=’xxxxxxxx‘,会走索引吗**?
- 即使索引命中了,你的查询就一定快吗?
二、环境介绍
机器介绍
- 一台mysql机器
- 一台Java开发机
流程介绍
-
打开idea并执行已写好的查询案例
-
优化索引,针对要优化的索引,创建MD5数据列
-
给新的MD5列创建索引
- 重新编写新的查询逻辑,完成查询需求
您没有该镜像的运行权限,所以无权查看该笔记
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-海牛博士,http://hainiubl.com/topics/76596