MySQL CREATE TABLE 简单设计模板交流

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
 
推荐用 MySQL 8.0 (2018/4/19 发布, 开发者说同比 5.7 快 2 倍) 或同类型以上版本.

CREATE TABLE TEMPLATE

CREATE TABLE [table\_name] (
 id BIGINT UNSIGNED NOT NULL AUTO\_INCREMENT PRIMARY KEY COMMENT '物理主键',
 update\_time TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP ON UPDATE CURRENT\_TIMESTAMP COMMENT '更新时间',
 create\_time TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP COMMENT '创建时间',
 [delete\_time TIMESTAMP DEFAULT NULL COMMENT '删除时间',]

    [template]

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '模板表';

这个模板基本可以应对非跨国大部分业务场景. 后面我们也会分析小部分复杂场景.
首先来分析 CREATRE TABLE 模板设计的潜在考量.

分析 1: 物理主键 id 为什么是 bigint unsigned ?

交流 :

  1. 性能更好, unsigned 不涉及 反码和补码 转码消耗
  2. 表示物理主键更广 [-2^63, 2^63-1] -> [0, 2^64-1]
  3. mysql 优化会细微好点. select * from * where id < 250; 原先是 select * from * where -2^63 <= id and id < 250; 现在是 select * from * where 0 <= id and id < 250;
  4. 如果有些语言中没有 unsigned, 需要把关人备注为 signed 使用范围是 [0, 2^63-1]
  5. 如果 int 也能满足业务, 也可以用 int, 节省 4 字节. 看业务把控和取舍.

分析 2: COMMENT 是否可有可无 ?

交流 :

  1. 对于缺少 COMMENT 详细注释的, 推荐把关人 或 DBA 打回修改或拒绝操作
  2. 修改和补充 COMMENT
-- 修改表注释
ALTER TABLE [table\_name] COMMENT '[COMMENT]';


-- 修改字段注释
UPDATE information\_schema.COLUM
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值