【员工大讲堂1】 MySQL那点事儿
为激发员工学习热情,营造轻松愉悦的学习氛围,在“干中带学,学中带干”,云服务工会于6月开始开展 “分享知识、促进交流”的员工大讲堂活动,希望通过“骨干带头、分享授课、人人登台”的方式为全体员工打造一个有效的知识分享平台,促进员工综合素质与综合能力的进一步提升。
第一期大讲堂由技术中心聂嘉梁来分享,他通过专业技术角度为我们分享了自己在运行MySQL系统中的技巧与方法。
课上,聂老师从日常工作实际例子出发,向我们展示一段原本需要7个小时才能执行完SQL程序,经过拆分、建立临时表并添加索引,各个击破,使得整段SQL程序28s内执行完索引的使用规则。
聂老师建议使用离散度更高的字段,并保持索引链接的连续性。同时,不建议使用无序的值、频繁更新的值、区分度低的值,不建议索引个数过多。
通过聂老师简明扼要的讲解,相信涉及相关领域的小伙伴已经明晰了如何快速完成系统索引以及如何避开雷区,避免在索引的使用上出现低效和反复的操作。
卡券查询如何实现毫秒级查询,聂老师建议对关键筛选字段添加索引,从而加快优化器筛选实现毫秒级查询;积分结算如何实现快速计算,聂老师建议使用内存临时表保存中间计算结果,省去磁盘IO耗时,从而快速计算出结果;身份证这种无序字段如何快速查询,聂老师建议对身份证字段进行Hash操作(crc32()函数)保存到新字段,在新字段上添加索引,快速查询新字段后就同时带出该记录的身份证字段和其他身份信息,当然也可以在存储身份证字段时倒过来存,因为身份证号的最后6位没有省份、城市这样的重复逻辑,所以最后这6位就提供了足够的区分度,可以在倒存的身份证字段添加索引,加快对身份证字段的查询。
术业有专攻,在我们工作中很多时候是因为没有找对方法导致效率下降,也致使耗时较长,通过相互学习和成长,必然会让我们在工作中事半功倍。
让我们期待下一期由营销中心销售经理张博带来的精彩分享吧~
文/车家佳平台