我有这个代码:
DECLARE @MyTable AS TABLE
(
[Month] INT,
Salary INT
);
INSERT INTO @MyTable VALUES (1,2000), (1,3100);
SELECT [Month], Salary FROM @MyTable;
Run Code Online (Sandbox Code Playgroud)
输出:
我想NVARCHAR
合并工资(按月分组),这样它就会是这样的:'2000,3100'
我将如何有效地做到这一点?
我知道重新编译是什么意思,我知道由于性能问题,没有 dmv 等,大多数时候不建议使用它。
有时在某些情况下它可能有所帮助,但OPTION(RECOMPILE)
也可能有所帮助。
那么,什么时候最好使用With Recompile
over OPTION(RECOMPILE)
?
谢谢。
我想恢复数据库,这需要几分钟的时间。
我使用的是具有 4 个 CPU 和 16GB 内存的虚拟机,我想知道 CPU/内存与恢复数据库进程之间是否有任何关系?
例如:如果我将CPU增加到16个,内存增加到48GB,是不是会更快?
也许在某处有一个答案,但是,我在谷歌上找不到任何有效的答案,因此,我会在这里问这个。
我想动态地获取一些关于我的存储过程参数的信息,所以我写了这个脚本:
SELECT PARAMETER_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
CHARACTER_OCTET_LENGTH
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_NAME = @ProcName
Run Code Online (Sandbox Code Playgroud)
问题是 CHARACTER_MAXIMUM_LENGTH 和 CHARACTER_OCTET_LENGTH 之间的区别是什么。你能举个例子说明他们什么时候会有不同的结果吗?
提前致谢。