SQLSERVER 阻塞之 PFS 页到底是什么?

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

工作中遇到急需解决的sql语句性能差、数据库损坏、CPU暴涨、死锁等问题,一线码农技术博主提供免费协助,微信搜索一线码农聊技术,分享踩坑经验,帮助更多人解决问题。

🎯

关键要点

  • SQLSERVER中的阻塞场景常因PFS页上的闩锁等待造成。
  • PFS页用于跟踪数据页的空间使用情况,管理海量数据页。
  • PFS页用一个字节跟踪一个8k的数据页,理论上可管理64M的数据。
  • 通过DBCC PAGE命令可以观察PFS数据页的使用情况。
  • 插入数据后,PFS页的位数会发生变化,反映空间使用率。
  • 高并发场景下,临时表和表变量的频繁创建和删除会导致PFS页的瓶颈。
  • 在阻塞中看到大量PageLatch_x等待时,建议将Tempdb中的ndf划分为多个以分摊写入压力。
  • 工作中常见的数据库问题包括SQL语句性能差、数据库损坏、CPU暴涨和死锁等。
🏷️

标签

➡️

继续阅读