首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server 2019插入性能:Windows7与CentOS 10

SQL Server 2019插入性能:Windows7与CentOS 10
EN

Stack Overflow用户
提问于 2021-03-27 00:07:02
回答 1查看 141关注 0票数 0

我们有一个数据库的小样本导出(~100k行)。格式为每行包含Insert语句的.sql文件:

代码语言:javascript
复制
Set Identity_Insert dbtable ON
Insert into dbtable (Id,Name) values(1,N'dummy');
... repeated 1k rows
Set Identity_Insert dbtable OFF
GO

除了这不是导出/导入的最佳实践之外,我们还观察到在Linux (CentOS 7)上运行的SQL Server 2019与在Windows10上运行的SQL Server 2019之间的主要性能差异。这两个SQL Server都是使用最新安装程序全新设置的,并且开箱即用,因此没有进行特定的设置或优化。

代码语言:javascript
复制
Time for 100k Inserts
CentOS 7: ~330 seconds
Windows 10: ~17 seconds

关于计算能力,CentOS系统应该更强大,运行在具有16核、32 GB内存和高带宽存储集群的高性能计算集群上。Windows系统是一种典型的办公笔记本电脑(i7、16 GB、固态硬盘)。

有什么想法可以从哪里开始进行故障排除?SQL Server的基本安装/默认设置在不同操作系统之间是否存在重大差异?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-29 18:51:46

缺省情况下,每个插入都是一个单独的自动提交事务。SQL Server将在每次插入后将事务日志缓冲区刷新到磁盘,以加强事务。这些物理写入所需的时间(在本例中为100K)将因存储子系统的IOPS功能而大不相同。对于顺序写入IOPS工作负载,即使是在PC上,本地SSD也可能优于企业级SAN存储,这并不少见,因为SAN延迟高于本地PCI总线。

对大型事务中的插入进行批处理将减少物理事务日志写入的数量,并显著加快插入脚本的速度。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66820440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档