企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
列选择原则: #### 1:字段类型优先级 整型 > date,time > enum,char>varchar > blob 列的特点分析: 整型: 定长,没有国家/地区之分,没有字符集的差异 time定长,运算快,节省空间. 考虑时区,写sql时不方便 where > ‘2005-10-12’; enum: 能起来约束值的目的, 内部用整型来存储,但与char联查时,内部要经历串与值的转化 Char 定长, 考虑字符集和(排序)校对集 varchar, 不定长 要考虑字符集的转换与排序时的校对集,速度慢. text/Blob 无法使用内存临时表 #### 2: 够用就行,不要慷慨 (如smallint,varchar(N)) 原因: 大的字段浪费内存,影响速度, 以年龄为例 tinyint unsigned not null ,可以存储255岁,足够. 用int浪费了3个字节 以varchar(10) ,varchar(300)存储的内容相同, 但在表联查时,varchar(300)要花更多内存 #### 3: 尽量避免用NULL() 原因: NULL不利于索引,要用特殊的字节来标注. 在磁盘上占据的空间其实更大.