想自己生成一个唯一文件名
uniqueidentifier占用16字节  char(24) 占用24个字节
uniqueidentifier生成是36位。请问那一个占用的少?

解决方案 »

  1.   

    1、uniqueidentifier存储为二进制值
    0~f 共16 种表示,有16*16=256,也有2^8=256(值域为0~255),去掉四个连接字符,即表示为16字节。
    2、varchar和nvarchar属变长型,存储时会增加一个int类型(四个字节)记录内容长度。
    3、nchar和nvarchar类型存储为Unicode数据,占用两个字节,所以字节数要算双份。24个字节比16个字节...
      

  2.   


    明白了还是uniqueidentifier节省空间呗。主要是被他的表现形式给迷惑了。
      

  3.   

    显示出来的是36个 0-9 或 a-f 范围内的十六进制数字
    但是它的存储格式并不是存的字符串,
    用char的话 你需要用char(36) 
    如果检索,这样的会比较慢,因为他是一个字符串
    前者是一个16 字节的二进制值
      

  4.   

    用uniqueidentifier到最后你会发现难以处理的。
      

  5.   

    uniqueidentifier速度很快,有一种就做顺序GUID,速度要比较快的。