sqle icon indicating copy to clipboard operation
sqle copied to clipboard

增加四个规则

Open Sharkzeng opened this issue 3 years ago • 3 comments

规则 一
VARCHAR 长度 不超过 255 规则 二 表关联不能超过 5个 规则 三 建表 表不能超过 35个字段 规则 四 建表 必须含字段 CREATE_TIME, UPDATE_TIME

Sharkzeng avatar Jul 29 '22 02:07 Sharkzeng

可以提供下以上规则的添加背景吗

sjjian avatar Jul 29 '22 09:07 sjjian

请问添加背景是啥意思? 1 VARCHAR超过255 溢出后 会存放在另外个页, 一行不能超过65535个字节. mysql中使用 utf-8mb4 字符集一个字符占用(1-4)个字节,所以 varchar 最大长度是(65535-2)/4=16383 个字符 超过255个字节会有2字节的额外占用空间开销,所以减2,如果是255以下,则减1 值得注意的是,varchar列在溢出的时候会自动转换为text类型。text数据类型实际上将会大幅度增加数据库表文件尺寸。 MySQL要求一个行定义长度不能超过65535个字节,不包括text、blob等大字段类型,varchar长度受此长度限制,和其他非大字段加起来不能超过65535个字节.

2 MYSQL 表关联太多会导致性能下降

3表不能太多字段, 字段多了说明平均行长也高, 字段多可以说明是个不符合3NF方式的设计 4 对建表必须什么字段,

Sharkzeng avatar Aug 01 '22 05:08 Sharkzeng

2 MYSQL 表关联太多会导致性能下降 这个规则已经有了 可以排除建议里面

Sharkzeng avatar Aug 01 '22 07:08 Sharkzeng

ref:https://github.com/actiontech/sqle/issues/734

sjjian avatar Aug 11 '22 08:08 sjjian