首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTime2与页面预期寿命

DateTime2与页面预期寿命
EN

Database Administration用户
提问于 2022-04-26 19:39:24
回答 1查看 558关注 0票数 6

据我所知,当您在表上定义列时,就定义了它的精度。这种精度需要一个字节,并存储在列级别上。如果使用5或更高的精度,那么DateTime2列将占用每一行8个字节。(精度不存储在行级别。)

但是,当您将相同的DateTime2转换为VarBinary时,它将花费9个字节。这是因为它需要存储在列级别上的精确字节。

我很好奇这与DateTime2存储在内存中的时间有什么关系。假设我内存中有1,000,000 DateTime2s (每个内存的精度为5或更高)。这将占用8,000,000字节的内存,还是9,000,000字节的内存?

基本上,我想知道默认的精确DateTime2是否会给页面预期寿命带来比普通DateTime?

更大的压力?

EN

回答 1

Database Administration用户

发布于 2022-04-26 20:53:19

与日期时间相比,默认精度的DATETIME2不会对PLE造成更大的压力。缓冲池由8 KB页组成.与每个页面的内部存储工作相比,页面计数才是重要的。说100万列值将花费800万或900万字节是不正确的。引用文档的话:

缓冲区中的缓冲区,缓冲区是内存中的8 KB页,大小与数据或索引页相同。因此,缓冲区缓存被划分为8 KB页。在缓冲区管理器需要缓冲区区域读取更多数据之前,缓冲区缓存中将保留一个页面。数据只有在数据被修改后才会写回磁盘。这些内存中修改的页面被称为脏页。当页面与磁盘上的数据库映像等效时,它是干净的。在写回磁盘之前,可以多次修改缓冲区缓存中的数据。缓冲池也称为缓冲区缓存。缓冲池是所有数据库为其缓存的数据页共享的全局资源。缓冲池缓存的最大和最小大小是在启动期间或在使用sp_configure动态重新配置server实例时确定的。此大小确定可在运行实例中的任何时候缓存在缓冲池中的最大页数。

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

https://dba.stackexchange.com/questions/311366

复制
相关文章

相似问题

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