易截截图软件、单文件、免安装、纯绿色、仅160KB

sqlserver从varchar(50)存储改为用varchar(10)的话

比如 用户名,我程序的要求是10位字符以内,所以:
如果我sqlserver从varchar(50)存储改为用varchar(10)的话,

1.会不会减少数据空间?
2.会不会提高我程序的效率?
3.有没有必要?

小弟先谢谢
1、会
2、不会
3、无所谓(现在最不值钱的就是空间,大点也不贵多少)

肯定会减少数据空间,但是个人认为没有必要。

就是节省空间,其他没什么

会么?
我感觉不会减少吧 ,..
varchar(N) 实际存储的空间 不是根据你的实际字段长度的么,不是根据N的吧?

  (1)数据存储开销。

      a. 每个varchar列需要额外的两个字节,用于反映存储的数据的长度。

      b. 每个可为NULL的char列,需要一些字节(空位图)来反应数据的为空性。

      c. 无论实际数据的长度是多少,char按照定义的长度分配存储空间。

      d. varchar根据实际存储的数据长度来分配数据存储空间。


数据库的性能方面的也有影响

大小影响计算:
Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size

Max_Var_Size = 所有可变长度列的最大字节大小

以上是可变列的计算有一个加最大的行字节数

而Fixed_Data_Size-- 所有固定长度列的总字节大

ps:
SQL Server 2008 增加了一个动态压缩的功能,它会根据输入的数据,动态的压缩数据.
所以,数据长度不一定和你输入的一致.


http://social.microsoft.com/Forums/zh-CN/sqlserverzhchs/threa


相关问答:

JSP里怎么使用SQLserver2000里的date类型?

SQLserver2000里的datetime(8)和smalldatetime(4)在数据库查询分析器里显示只有年-月-日,但是在JSP里显示却是
年-月-日 00:00:00.0
怎样使用SQLserver的日期类型呢?
我尝试了这样的语句:
select ......

基于sqlserver 2005导出数据到office 2007 Excel

代码:
insert into openrowset('microsoft.ace.oledb.12.0','excel 12.0;hdr=yes;database=d:\a.xslx','select * from [sheet1$]') select * from table
注意:导出的数据和表头要一 ......

求教 查看SqlServer执行过的存储过程状态

在SqlServer中如何查看历史上执行的存储过程的信息呢,如:传入参数,执行时间等等。如果不能查看历史记录,是否可以自己写触发器之类的,人工控制呢,在Oracle里面有动态视图可以随时查看历史执行的sql语句,SqlSer ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号