(附音视频、PPT地址)《DBA神技之SQL Review》分享总结

xiaoxiao2021-02-28  12

0、导读

DBA在项目开发周期中,一个重要工作是进行SQL Review。那么究竟应该如何来做这个事呢,本期我们听听吴炳锡老师关于SQL Review工作的经验分享。

1、活动总结

本次分享活动得到了网友们的热情支持,YY同时在线观看直播人数约200人,且覆盖了两个QQ群,总活跃人数接近500人,基本上是一场中大型的技术沙龙了。

再次感谢大家的支持和关注!

本次分享的音视频、PPT相关资料已经上传到百度云盘,链接: http://pan.baidu.com/s/1nvCkRBN 密码: 99eu ,欢迎转存及转发。

【提示】知数堂培训全新MySQL DBA课程第八期8.2开课,全新Python运维开发班第二期8.27开课,请加入QQ群:529671799 获得最新信息。

2、互动问题

篇幅有限,我们选取了7个问题进行解答,没有回答的问题可以在QQ群里继续进行交流。

【问1】目前的版本是mysql 5.5,打算升级,是直接上5.7,还是上5.6 ?

【答】现在可以考虑MySQL 5.7了 ,MySQL 5.7 目前来看也比较稳定,不过正式升级先请做好充分测试。如果不太放心的话,也可以升级到5.6的最新版本。

【问2】数据库里密码怎么存的,用varbinary吗,需不需要用redis缓存?

【答】密码等机密数据建议二次加密后再存储,用varbinary或varchar都可以。 一般密码字段不需要缓存,不过可以考虑在session管理或是断线重连方面做一些特殊处理。

【问3】utf8不支持表情,需要utf8mb4字符集,utf8到utf8mb4这种字符集转换,需要如何弄?

【答】可以进行格式化后存储,取出来后在做处理。如: 传来\x0F,应用先替换成[i_smile]这样的特定字符串再存入数据库。从长期来看,还是建议转换成utf8mb4字符集格式。

【问4】我遇到一个问题,一个相同意义的字段如f_user_id,有的表是int,有的是bigint,这种情况做join时效率上受不受影响?

【答】如果join时的条件值都在INT之内没有影响,如果超过INT大小时,会出现类型隐式转换,用不上索引,性能肯定受到很大影响。

【问5】decimal一般记录金额相关的。那么float double这两种类型应用在哪种场景下,或者说是这两种字段类型根本不需要使用。

【答】错。 对金额字段,我们统一要求放大百倍后转成分(甚至更精确程度,视业务需要而定),然后按整数据存储。 对于decimal、float、double,可能在科学计算场景下使用的比较多。

【问6】mysql怎么实现分库分表的历史数据管理,有啥好建议吗,请吴老师帮忙解答下吧 

【答】以存储日志类型数据为例,可以考虑采用TokuDB引擎,先看分表能不能支撑住。 如果不行,可以按日期进行水平拆分,比如每个月拆成10张或是更多,如:tb_201607_[0,...,9]。这样做的好处是,以后对于历史数据想做迁移或是失效,可以对整表处理。并且可有效减少表空间的碎片。

【问7】订单表以前在oracle下使用存放的是大字段,如果迁到mysql下,这类型的表如何设计?都是些大报文。

【答】MySQL里有blob,text字段应该也可以满足。 可以先测试下能否满足需求。不过,我们在分享中也讲过,如果涉及到blob、text类型列,需要优先考虑和主表其他列拆分开的方案。

3、分享PPT

最后,有个事和大家说下哈,PO主老叶自家在卖铁观音茶叶哦,有需要的识别下方二维码或访问 http://yejinrong.com 直达,超赞的O(∩_∩)O~

转载请注明原文地址: https://www.6miu.com/read-1250037.html

最新回复(0)