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 ?
交流 :
- 性能更好, unsigned 不涉及 反码和补码 转码消耗
- 表示物理主键更广 [-2^63, 2^63-1] -> [0, 2^64-1]
- mysql 优化会细微好点. select * from * where id < 250; 原先是 select * from * where -2^63 <= id and id < 250; 现在是 select * from * where 0 <= id and id < 250;
- 如果有些语言中没有 unsigned, 需要把关人备注为 signed 使用范围是 [0, 2^63-1]
- 如果 int 也能满足业务, 也可以用 int, 节省 4 字节. 看业务把控和取舍.
分析 2: COMMENT 是否可有可无 ?
交流 :
- 对于缺少 COMMENT 详细注释的, 推荐把关人 或 DBA 打回修改或拒绝操作
- 修改和补充 COMMENT
-- 修改表注释
ALTER TABLE [table\_name] COMMENT '[COMMENT]';
-- 修改字段注释
UPDATE information\_schema.COLUM