阿里巴巴开发手册之建表规约

建表规约总结

表示是否逻辑的字段 用 is_xxx的命名方式。数据类型是 unsigned tinyint 1表示是,0表示否。

不要用关键字命名字段。
库名保持与应用名一致,表明表示业务+表作用。
用 unsignd 无符号数能够扩大存储范围。
字段允许冗余,提高查询性能,但需要考虑数据一致性。
表行超过500万行才考虑分库分表,如果近三年都到不了,那就没必要分库分表。
字段一律小写,linux上区分大小写,windows不区分。
小数存储用decimal,不要用float或者double,会导致精度丢失,但我觉得可能存储字符串,到时候就是需要在代码层进行解析就可以。pk_xxx主键,uk_xxx唯一索引名,idx_xxx普通索引。
varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度 大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索引效 率。
如果存储的字符串长度几乎相等,使用 char 定长字符串类型。
表必备三字段:id, gmt_create, gmt_modified。 说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。gmt_create, gmt_modified 的类型均为 datetime 类型,前者现在时表示主动式创建,后者过去分词表示被动式更新。其实也可以是creatime,updatetime字段都为两个字段让数据库自己维护,程序员不需要。比如

create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间’

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值