假设是这样的:
select * from table where DatePart(YEAR, dateColumn) = 2012
在 dateColumn 上建立索引是否合理?
编辑*
对于SQL Server
假设是这样的:
select * from table where DatePart(YEAR, dateColumn) = 2012
在 dateColumn 上建立索引是否合理?
编辑*
对于SQL Server
是否可以加密像 TDE 这样的 2008 R2 备份?
我读到的是加密整个数据库,这样备份就会被加密。但是您可以单独使用 TDE 加密备份吗?
想知道,将一个表分成三个表,每个表大约有 6 列并使用外键,还是使用一个表并有 15 列更好?
大多数字段都是 varchars,偶尔会有一些数字。数据库是MySQL。
通过更好,我最感兴趣的是插入和选择速度。
只是为了澄清这是该特定表的一对一案例,数据主要是用户数据,属性将是位置年龄活跃性别等仅与一个用户有关。是的,我正在尝试将热柱与冷柱隔离开来
运行此代码时:
declare @SQL NVARCHAR(max);
declare @intFlag INT;
set @intFlag = 2;
SET @SQL = ' SELECT * into [##tmp1]
FROM servicesstats_0511_0412 s WHERE department=''ACC''
and ((SELECT COUNT(*) FROM servicesstats_0511_0412 WHERE department <> ''ACC''
and s.studentid=studentid ) = ' + @intFlag + ')';
EXEC SP_EXECUTESQL @SQL
我收到以下错误:
将 varchar 值 ' SELECT * 转换为 [##tmp1] FROM servicesstats_0511_0412 s WHERE department='ACC' and ((SELECT COUNT(*) FROM servicesstats_0511_0412 WHERE department <> 'ACC' and s.studentid=studentid ) 时转换失败' 到数据类型 int。
servicesstats_0511_0412 将是动态的,因此需要动态 SQL。
我认为这不应该发生,因为 count(*) 总是返回一个 Int。即使将子查询转换为 Int 也不起作用。有什么我想念的吗?谢谢。