在 SQL Server 中,每个 CPU 核心可以有许多工作线程。有谁知道在 PostgreSQL 中是否也是如此并且可以指出我的参考?(假设版本 11)。
背景是我们目前在 SQL Server 中有一些 OLTP 工作负载正在迁移到 PostgreSQL。我想知道如果启用并行性并拒绝连接(当我们用完线程时可能发生在 SQL Server 上),是否存在线程用完的风险,以及我是否应该建议默认禁用并行性。
在 SQL Server 中,每个 CPU 核心可以有许多工作线程。有谁知道在 PostgreSQL 中是否也是如此并且可以指出我的参考?(假设版本 11)。
背景是我们目前在 SQL Server 中有一些 OLTP 工作负载正在迁移到 PostgreSQL。我想知道如果启用并行性并拒绝连接(当我们用完线程时可能发生在 SQL Server 上),是否存在线程用完的风险,以及我是否应该建议默认禁用并行性。
有没有人知道备份压缩如何在 SQL Server(2016+ 版本)上与 TDE 一起工作?
一般来说,我希望压缩加密数据的好处微乎其微,但我们注意到,使用 TDE,当我们使用压缩进行完整备份时,我们仍然看到备份文件大小显着减少。这让我们想知道备份过程是否解密数据、压缩数据、加密结果,然后将其备份到磁盘。显然,由于需要解密和重新加密数据,这将增加备份过程的 CPU 消耗。
细节
select @@version
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) 2017 年 8 月 22 日 17:04:49 版权所有 (C) 2017 Microsoft Corporation Developer Edition(64 位)在 Windows 10 Enterprise 10.0(内部版本 17763:)(管理程序)上
TSQL脚本
备份数据库 TestTDE 到磁盘 = 'c:\Test\TestTDE_Compressed.bak' WITH COMPRESSION, MAXTRANSFERSIZE = 65537
或者是否以不同的方式实现了空间节省?
我一直在研究使用 SQL Server (2012) 上的统计信息更新来调查采样阈值,并注意到一些奇怪的行为。基本上,采样的行数在某些情况下似乎有所不同——即使是同一组数据。
我运行这个查询:
--Drop table if exists
IF (OBJECT_ID('dbo.Test')) IS NOT NULL DROP TABLE dbo.Test;
--Create Table for Testing
CREATE TABLE dbo.Test(Id INT IDENTITY(1,1) CONSTRAINT PK_Test PRIMARY KEY CLUSTERED, TextValue VARCHAR(20) NULL);
--Insert enough data so we have more than 8Mb (the threshold at which sampling kicks in)
INSERT INTO dbo.Test(TextValue)
SELECT TOP 1000000 'blahblahblah'
FROM sys.objects a, sys.objects b, sys.objects c, sys.objects d;
--Create Index on TextValue
CREATE INDEX IX_Test_TextValue ON dbo.Test(TextValue);
--Update Statistics without specifying how many rows to sample
UPDATE STATISTICS dbo.Test IX_Test_TextValue;
--View the Statistics
DBCC SHOW_STATISTICS('dbo.Test', IX_Test_TextValue) WITH STAT_HEADER;
当我查看 SHOW_STATISTICS 的输出时,我发现“Rows Sampled”随着每次完整执行而变化(即表被删除、重新创建和重新填充)。
例如:
采样行
我的期望是这个数字每次都是相同的,因为表格是相同的。顺便说一句,如果我只是删除数据并重新插入数据,我就不会出现这种行为。
这不是一个关键问题,但我有兴趣了解发生了什么。