首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库表设计

数据库表设计
EN

Stack Overflow用户
提问于 2010-07-14 04:39:08
回答 2查看 308关注 0票数 2

我在为数据库表选择变量类型时遇到了问题。有人能给我一些关于如何选择类型的一般指导吗?以下是我的一些问题--

  1. 用户标识应该是什么?INT看起来很小,因为设计应该考虑大量的用户。那么,如果没有,还有什么呢?BIGINT?VARCHAR?我没想清楚吗?
  2. 我什么时候应该选择varchar和text和tinytext,二进制?

我在网上搜索,没有找到任何有用的链接。有人能给我指明正确的方向吗?也许我需要看书。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-14 04:43:57

2013年更新():互联网现在的用户数量与有符号的32位整数大致相同。Facebook拥有大约10亿用户。因此,如果你正计划成为下一个谷歌或Facebook,而你肯定没有时间从现在开始重新设计,那就去做一些更大的事情吧。否则就坚持做容易的事。

截至2010年:

int看起来很小?您是否期望拥有2,147,483,648个用户?(据记录,世界上每3人中就有1人使用互联网,比互联网用户总数多4亿人;比Facebook用户多出5倍半)。

答:使用int。别想太多了。如果你遇到的情况是,我们的老朋友32位整数不适合你,那么你可能还会有一批天才大学毕业生和50亿美元的注资来帮助解决这个问题。

票数 5
EN

Stack Overflow用户

发布于 2010-07-14 05:14:50

您的username字段可能应该是一个varchar (您选择长度)。如果您在id_user表上有一个user,我同意上面的答案:int (20亿)将足以满足您的需求。

就字母数字数据类型而言,这取决于您希望它的长度。例如,我认为一个varchar(255),或者甚至更小(我个人认为50),可以在usernamepassword字段中工作。这张图表可能对你有帮助

Binary将用于存储非字符数据(如图像)。bit可用于布尔值。

其他几种有用的类型是用于UUID/GUID的uniqueidentifier和用于XML的xml。尽管您也可以使用varchar或文本类型。

Server中还有用于Unicode的nvarchar和几种日期类型(我很高兴他们在Server 2008中推出了date,其中不包括smalldatetime这样的时间)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3243409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档