Sql server 2008 存储cookie信息的TSQL列的理想大小/数据类型
我们正在从cookie读取信息,并将cookie的值存储在SQL Server数据库中。目前,我们正在使用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
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中的数据是整数和管道“|”符号