小编SQL*_*ner的帖子

我应该使用SQL_Variant数据类型吗?

使用SQL Server 2005和SP4,我正在设计一个数据库表.

这是表DDL

CREATE TABLE CPSync4D.ProjectProfilerOption
(
    ProjectProfilerOptionID     INT  IDENTITY(1,1) CONSTRAINT PK_ProjectProfilerOption_ProjectProfilerOptionID PRIMARY KEY 
   ,ProjectID                   INT  CONSTRAINT FK_ProjectProfilerOption_Project_ProjectID FOREIGN KEY(ProjectID) REFERENCES CPSync4D.Project(ProjectID) ON DELETE CASCADE
   ,ProfilerOptionID            TINYINT CONSTRAINT FK_ProjectProfilerOption_ProfilerOption_ProfilerOptionID  FOREIGN KEY(ProfilerOptionID) REFERENCES CPSync4D.ProfilerOption (ProfilerOptionID) 
   ,ProfilerOptionValue         sql_variant  NOT NULL   

)
Go
Run Code Online (Sandbox Code Playgroud)

profileroptionvalue列可以包含最多30个字符的字符串,整数或十进制值,例如值为"ProfilerValueType",或12.52或20等(不超过两位小数,整数值小于100)

我应该使用sql_variant还是varchar(30)......?我以前从未使用过sql_variant,也不确定在数据库设计方面没有使用任何含义.

使用sql_variant ...与.net代码的任何陷阱

sql sql-server database-design sql-server-2005

24
推荐指数
2
解决办法
3万
查看次数

单独的表中的SQL Server varbinary(max)和varchar(max)数据

使用带有SP2的SQL Server 2005标准版

我需要设计一个表格,我将存储一个文本文件(~200KB)以及文件名,描述和日期时间.

我们应该设计一个表,其中varchar(max)和varbinary(max)数据应该存储在一个单独的表中,还是LOB数据类型的列应该是主表的一部分?

根据这个线程 在单独的1-1表中使用varbinary字段有什么好处?

没有我在某种程度上同意的性能或运营效益,但我可以看到两个好处

  1. 将它们存储在可分离的表中,该表可以存储在单独的文件组中
  2. 您无法在包含lob数据类型ONLINE的表上重建索引

任何建议,将不胜感激.

sql-server

6
推荐指数
1
解决办法
2461
查看次数

用于TempDB的TraceFlag 1118

启用跟踪标志1118(作为服务启动参数)可以使TempDB减少与混合扩展区分配相关的争用,即使是SQL 2008/R2或SQL 2012也是如此.为什么在世界上它是开箱即用的.默认的SQL Server配置?

sql-server sql-server-2008

2
推荐指数
1
解决办法
2548
查看次数