Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 存储cookie信息的TSQL列的理想大小/数据类型_Sql Server 2008_Cookies_Sqldatatypes - Fatal编程技术网

Sql server 2008 存储cookie信息的TSQL列的理想大小/数据类型

Sql server 2008 存储cookie信息的TSQL列的理想大小/数据类型,sql-server-2008,cookies,sqldatatypes,Sql Server 2008,Cookies,Sqldatatypes,我们正在从cookie读取信息,并将cookie的值存储在SQL Server数据库中。目前,我们正在使用varchar(max)作为数据类型,但是感觉好像我们可以取消较小的数据类型 我的问题是,考虑到客户端可以利用cookie值允许的最大限制,SQL Server 2008中存储cookie值的理想数据类型和大小是什么?我将根据以下问题的答案做出决定: cookie的最大绝对大小(以字节为单位)是多少 不,真的,仔细想想。在一周、一年、三年内,某个bozo开发者会给你带来什么 它们可能包含u

我们正在从cookie读取信息,并将cookie的值存储在SQL Server数据库中。目前,我们正在使用
varchar(max)
作为数据类型,但是感觉好像我们可以取消较小的数据类型


我的问题是,考虑到客户端可以利用cookie值允许的最大限制,SQL Server 2008中存储cookie值的理想数据类型和大小是什么?

我将根据以下问题的答案做出决定:

  • cookie的最大绝对大小(以字节为单位)是多少
  • 不,真的,仔细想想。在一周、一年、三年内,某个bozo开发者会给你带来什么
  • 它们可能包含unicode字符吗?二进制数据
  • 在cookie中存储少于所有数据是否可以接受
  • 如果我们选择使存储的最大大小小于可能的最大大小,我们会丢失哪些数据?截断第一个或最后N个字符?搜索并转储特定内容(您可能仍然超过最大可存储大小)

对需要存储的数据大小缺乏任何真正的控制可能是一个杀手。

如果我没记错的话,cookie的大小应该是4k或更小-因此
varchar(4096)
就足够了!以上所有观点都是有效的,这就是为什么我认为varchar(max)实际上是安全的。如果有unicode或二进制数据,varchar将是错误的类型,在这种情况下,使用nvarchar(max)或varbinary(max)。我不是cookie专家,这就是我提出这些观点的原因。在我的例子中,cookie中的数据是整数和管道“|”符号