设计数据库表时要不要定义字段的长度?指定字段长度和不指定长度有什么区别?
3个回答
展开全部
设计数据库表的时候,需要考虑数据存储的内容,因为你是设计者你会更清楚所存储的值的内容是什么,给上合理的数据类型和长度,比如一个flag字段给的长度是char(1),如果DBA不清楚还要询问你长度是多少,如果他没有询问你,自作主张建了 char(10)这样有些影响查询效率。所以在你清楚的情况下,给定字段的长度是非常不错的
追问
一个字段定义为VARCHAR2(10)或VARCHAR2,这两种定义有什么区别?
追答
varchar2(10) 是字段最长10 最少0的可变
varchar2 是可变最长4000还是2000忘了。如果你确定你的字段最长不超过10 那就用第一个 查询效率会高点
展开全部
一个是降低物理上的存储空间,一个是提高数据库的处理速度,还有一个附带功能是能校验数据是否合法。
追问
一个字段定义为VARCHAR2(10)或VARCHAR2,这两种定义有什么区别?
追答
VARCHAR2(10)固定了存储这个字段就是10个字节,而VARCHAR2也是有存储长度限制的,只不过是默认最大的存储数据长度限制(oracle好像是65535)。
一个是降低物理上的存储空间:很容易理解了,10个字节自然会比默认的长度要短很多,所需要的磁盘空间当然小(可能你会想磁盘现在那么大,可是一条记录少几万个字节,但是假设这个表有几千万或者几亿条记录,节省的空间是可想而知的)
一个是提高数据库的处理速度:跟上面同理,在遍历字段内容的时候,10肯定比默认快。
还有一个附带功能是能校验数据是否合法:这个就是怕有些程序开发人员在使用数据的时候不符合长度限制的约束。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、需要指定长度,创建库表需要的;
2、开发人员需要知道长度,知道如何使用。
2、开发人员需要知道长度,知道如何使用。
更多追问追答
追问
一个字段定义为VARCHAR2(10)或VARCHAR2,这两种定义有什么区别?
追答
不好意思,varchar2可以不定义长度么。请问,你使用的什么数据库?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询