为什么创建数据库后sql会变慢
本文关键字:sql 创建 数据库 为什么 | 更新日期: 2023-09-27 18:30:26
我正在做一些性能测试,发现SQL在全新的数据库上的执行速度似乎比在已经存在一段时间的数据库上慢得多,我想知道为什么会这样,以及如何在创建后更好地启动我的数据库,以便我的性能测试更准确。
为了表明我的观点,我这里有一个测试应用程序,它可以执行以下操作:
- 创建数据库和测试表
- 插入一些行
- 截断表
- 插入更多行
2 大约需要 4 的 1.5 倍
这可能是由于数据库不在 RAM 中。 仅仅因为创建了数据库并不意味着它已加载到 RAM 中。 SQL Server 可能只在数据库正在使用时才这样做,如果在一段时间内不使用,甚至可能释放它们。 类似于缓存。
创建数据库后,尝试从表中选择 count(*) 以确保所有内容都在 ram 中。 然后,我希望 2 和 4 在大致相同的时间范围内表现。
啊刚刚看到关于汽车增长的评论。 这可以解释很多问题,并且截断表将留下该空间可用,以便服务器不必分配新页面。 --好评论lnu。
编辑 尝试在测试之前将数据和日志文件设置为 500 MB,以确保文件增长不是问题。 类似的东西。
CREATE DATABASE [TestDB] ON PRIMARY
( NAME = N'TestDB', FILENAME = N'C:'Program Files'Microsoft SQL Server'MSSQL'data'TestDB.mdf' , SIZE = 512000KB , FILEGROWTH = 10%)
LOG ON
( NAME = N'TestDB_log', FILENAME = N'C:'Program Files'Microsoft SQL Server'MSSQL'data'TestDB_log.ldf' , SIZE = 512000KB , FILEGROWTH = 10%)
GO
我尝试了Inu关于自动增长的说明,看起来这就是出现问题的原因。