SQLSERVER 阻塞之 PFS 页到底是什么?
💡
原文中文,约4900字,阅读约需12分钟。
📝
内容提要
工作中遇到急需解决的sql语句性能差、数据库损坏、CPU暴涨、死锁等问题,一线码农技术博主提供免费协助,微信搜索一线码农聊技术,分享踩坑经验,帮助更多人解决问题。
🎯
关键要点
- SQLSERVER中的阻塞场景常因PFS页上的闩锁等待造成。
- PFS页用于跟踪数据页的空间使用情况,管理海量数据页。
- PFS页用一个字节跟踪一个8k的数据页,理论上可管理64M的数据。
- 通过DBCC PAGE命令可以观察PFS数据页的使用情况。
- 插入数据后,PFS页的位数会发生变化,反映空间使用率。
- 高并发场景下,临时表和表变量的频繁创建和删除会导致PFS页的瓶颈。
- 在阻塞中看到大量PageLatch_x等待时,建议将Tempdb中的ndf划分为多个以分摊写入压力。
- 工作中常见的数据库问题包括SQL语句性能差、数据库损坏、CPU暴涨和死锁等。
🏷️
标签
➡️