ITPub博客

首页 > 数据库 > 数据库开发技术 > “丁奇MySQL Seed” 群答疑分享

“丁奇MySQL Seed” 群答疑分享

原创 数据库开发技术 作者:丁奇3306 时间:2024-11-06 09:31:46 0 删除 编辑

本周六直播课《极致性能优化 around MySQL》
进技术交流群方式,见文末海报

====Q1: decimal越界处理问题===
Q:为什么是0.99这个结果? 



A1:偷懒的回答: 
decimal(N,N)的范围就是 (-0.9.., +0.9..)   N个9.
所以返回了最靠近输入的值作为返回.

A2课代表补充:
再坐下阅读理解decimal(m,s)  m 是精度(精度表示为值存储的有效位数),s是小数位;decimal(2,2)  第1个2表示只能存储2位有效位,而第2个2 已经占了2个小数位,所以 decimal(2,2)  取值范围就是-0.99 到0.99 。9 超极大值了,所有就是0.99.

====Q2: 自增id全部换成奇数===
Q: 起头是有同学问:
A: auto_increment_offset 保持为1;  auto_increment_increment设置成2.

这里为什么提问的同学要说 “只用” 呢? 因为前面我给出的建议是还要alter table把所有表的自增id手动改成奇数, 老司机错了十几年.

为了挽尊,把代码里取下一个自增ID的代码贴一下.
逻辑就如同文档里写的, 下一个id的值nr必须满足两个条件: 
1) nr = (offset + N * auto_increment_increment),N是整数
2)nr > 当前id;
取最小的N
 

这个需求在单元化的时候还挺多用到的吧?
MySQL啥时候能把这个自增offset和auto_increment_increment加到表定义里面去呢?

====
怎么换群名了====
一开始取《MySQL实战45讲》的名字,叫“MySQL45”,
结果有同学问:老师45个群维护得过来吗 -_-

问多了就觉得要改了,年轻的时候很爱看高达Seed, 刚好Seed跟自己现在做的事情也有些联系.

====例行海报====


原文作者:丁奇3306;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    104
  • 访问量
    44852