数据库常见数据类型设计

1、bigint还是int来存储ID?

  • int(整型):在MySQL中,默认情况下int占用4个字节,其取值范围为-2^31 (-2,147,483,648)到2^31-1 (2,147,483,647),对于大部分中小规模的应用场景来说已经足够用了,尤其是作为自增主键ID的话,通常不会超过这个范围。

  • bigint(大整型):占用8个字节,取值范围更广,从-2^63到2^63-1,如果你预计表中的记录数量会超过int的最大值,或者希望预留更大的增长空间以防万一,那么可以选择bigint作为ID字段类型。

在现代互联网应用中,尤其是一些用户量级较大的网站或服务,考虑到长远发展和高并发写入下的ID生成速度,即使短期内不太可能超过int的最大值,也往往会选择bigint作为ID类型,以保证在未来长时间内无需更改数据表结构。不过,这也意味着稍微更多的存储空间消耗。所以具体选择哪种类型,需要根据实际情况权衡。

2、varchar(128)还是varchar(256)存储图片url?

存储图片的URL而非图片本身的数据,则完全可以使用VARCHAR类型。VARCHAR(128) 或 VARCHAR(256) 根据URL的平均长度来决定是否足够。

  • VARCHAR(128) 可以存储长达128个字符的字符串,对于一般的图片URL而言,通常是可以容纳的,尤其是在存储相对简单的短网址的情况下。
  • VARCHAR(256) 提供了更长的存储空间,适合存储较长的完整绝对URL,尤其是包含了多级路径、参数和其他额外信息的URL。

在选择具体的长度限制时,应当考虑的是所存储URL的实际长度范围,确保不会因URL过长而发生截断的情况。同时,适当增加长度限制可以为未来可能的变化预留空间,避免频繁修改表结构。当然,也要注意不要设置过大的长度,以免造成不必要的存储空间浪费。

3、微信小程序openid用varchar( )?

在数据库中存储微信小程序的openid时,由于openid是一个固定长度的字符串(通常是由英文字符和数字组成),可以选择使用varchar类型来存储。但需要注意的是,微信官方文档并没有明确指出openid的固定最大长度,不过根据实践经验,openid的长度通常在28~32个字符之间。

因此,在设计数据库字段时,为了确保能完全存储openid,同时留有一定的余地,可以选择varchar(100)或者varchar(255),这样的长度足以容纳openid且具有一定的冗余空间,防止未来可能出现的变化。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值