使用正确数据类型的原因是啥?

Posted

技术标签:

【中文标题】使用正确数据类型的原因是啥?【英文标题】:What is the reason for using the right datatype?使用正确数据类型的原因是什么? 【发布时间】:2016-09-01 14:56:02 【问题描述】:

我通常会尝试使用正确的数据类型来存储信息。

例如:

tinyint(1) 存储布尔值。为什么不使用varchar(1) 甚至int(11)bigint

使用user_id 而不是昵称。

我会丢失磁盘、内存中的空间,还是只是速度慢?

【问题讨论】:

【参考方案1】:

这些问题在别处得到解答。 mysql char vs. int

What is the difference between tinyint, smallint, mediumint, bigint and int in MySQL?

对于相同的长度,varchar 将比 char 使用更少的存储空间,但 varchar 将有更多的开销(性能更慢)。 bigint 比 tinyint 使用更多的存储空间。

对于布尔值,请考虑改用位。 What is the difference between BIT and TINYINT in MySQL?

【讨论】:

以上是关于使用正确数据类型的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章

通过代码给数据库添加时提示无效的sql数据类型,是啥原因

在 postgresql 的 jsonb[] 类型列中插入数据的正确语法是啥

使用kettle做orcale数据交换(插入/更新)时,遇到数据类型为CLOB的情况时就交换不了是啥原因?

存储用户地理位置数据的正确类型是啥?我可以在 DbGeography 中存储准确性吗?

EF Core 中查询类型的正确日期时间转换是啥?

timestamp是啥类型数据