虽然一直都知道,类型 之类的字段 直接用字符窜会很方便,不过最好还是不要用字符串;但是也不是特别清楚为什么不要用,时间久了 就忍不住用一下字符窜试试,这一试 还挺好用的,吓得我 感觉探究了一下 为什么最好不要用字符窜。
一是从空间上考虑,对于类型 分类的字段来说,用int代表不同的类型,比varchar 更节省空间。 数据量少的时候 不明显,但是 数据量特别大,或者数据常加载到内存里 差别就比较明显了。
二是 从 安全性考虑,varchar 容错性高,会导致 程序的bug 不能那么及时的体现出来 进而留下隐患,如果用 int 代表类型,则安全性会有不小的提升。
三,为何不用 枚举: 破坏了范式要求; 不易拓展 更改代价昂贵,会重构整个数据表; 获取全部可能值麻烦;其他表中不可直接复用,移植性不佳; 优化提升有限!
四,bool 最好也要少用,其原因 一是拓展不好,二是 在mysql里 创建bool 会被转为tinyint(1),写入大的数值会被截断,有警告 但是也可以执行。所以,布尔类型BOOL/BOOLEAN的功能等同于微整型TINYTINT; 不如直接用 int 更有助于理解。
如果有不严谨的地方,欢迎指正。
相关文章:
- java获取mysql数据库表、字段、字段类型、字段注释 - 醉东风 2021-12-08
- 字符串常量崩溃的原因 2021-12-23
- MySQL数据库修改字段名、字段类型、字段长度 2021-11-20
- 数据类型 --- 数字类型&&字符串类型&&列表类型 2021-11-16
- mysql下sql语句 update 字段=字段+字符串 2021-09-14
- Python 字符串替换字符- 字符串根据特定字符分割 - 字符串转为数字 - 批量读取字符串文件 2021-10-19
- MySQL 计算字符串字段中逗号分隔计数 2021-04-22
- 数据类型 字符串 2021-05-05