MySQL设计表时有关列类型的选择
2018-09-19 本文已影响6人
老衲灬
1、浮点型数据
①表示法:浮点型用科学计数法,节省更多的空间和时间。
语法:aEb 代表a*10^b
示例:
1.23E+10 表示 1.23乘以10的10次方(1.23x10^10)
4.773E-101 表示 4.773乘以10的负101次方(4.773x10^-101)
②精度选择:decimal、float、double相比,decimal更精确
选择:对数据的精度要求比较高,则选择定点数decimal类型
场景:涉及资金用decimal(注:decimal小数位一般2位如果没有小数会用0自动补充)
余额:money decimal(10,2)
价格:money decimal(10,2)
2、时间型数据类型的选择
①可选择int类型:int比datetime更节省空间(int4个字节,datetime8个字节)
②选择datetime类型:int同timestamp最大存储时间为2038年,而datetime的最大存储时间要大的多。
数据表中时间存储为int类型和datetime类型读取转换对比:
日期转时间戳函数如下:
3、单选类型的选择
明确:整型的计算效率比字符串快
4、IP类型的存储
192.192.192.192
15个字符 = 15字节
如果用varchar和char都是用15个字节,而int类型只需要占4个字节
PHP中IP地址转换整型: