笔记210 查询数据文件的页面信息
笔记210 查询数据文件的页面信息
1 --查询数据文件的页面信息 2 USE AdventureWorks 3 EXEC sys.sp_helpdb @dbname = 'AdventureWorks' 4 5 DBCC TRACEON(3604) 6 7 DBCC PAGE(11,1,3230,3) --结果显示3230这个页面是person.contact表 8 9 SELECT s.name ,o.name From sys.sysobjects o INNER JOIN sys.schemas s ON o.uid =s.schema_id 10 WHERE o.id=309576141 11 GO 12 SELECT id,indid,name from sys.sysindexes WHERE id=309576141 AND indid =3 13 GO 14 --EXEC sys.sp_helpindex @objname = N'' -- nvarchar(776) 15 16 DBCC SHOWCONTIG 17 18 USE partionTest 19 SELECT * FROM sys.allocation_units 20 21 SELECT * FROM sys.partitions 22 23 EXEC sys.sp_spaceused @objname = N'dbo.testPartionTable', -- nvarchar(776) 24 @updateusage = 'true' -- varchar(5) 25 26 --使用系统管理视图sys.dm_db_partition_stats比sp_spaceused更准确 27 SELECT 28 o.name , 29 SUM(p.reserved_page_count ) AS reserved_page_count, 30 SUM(p.used_page_count) AS used_page_count, 31 SUM( 32 CASE 33 WHEN (p.index_id <2) THEN (p.in_row_data_page_count +p.lob_used_page_count +p.row_overflow_used_page_count ) 34 ELSE p.lob_used_page_count +p.row_overflow_used_page_count 35 END 36 ) AS datapages, 37 SUM( 38 CASE 39 WHEN (p.index_id <2) THEN row_count 40 ELSE 0 41 END 42 ) AS rowcounts 43 from sys.dm_db_partition_stats p INNER JOIN sys.objects o ON o.object_id =p.object_id 44 GROUP BY o.name 45 46 --DBCC SHOWCONTIG 最准确 每个页 每个区的使用情况、碎片程度 47 --查看GPOSDB每个表的使用情况 48 USE GPOSDB 49 DBCC SHOWCONTIG 50 51 52 --dm_db_index_physical_stats的三种模式 53 --limited:运行最快,扫描页数最少。对于堆,它将扫描所有页,但对于索引,只扫描叶级别上面的父级别页 54 --sampled:返回基于索引或堆中所有页的1%样本的统计信息。如果索引或堆少于10000页,则使用detailed模式代替sampled 55 --detailed:虽然精确,但是在数据库处于高峰时应避免使用 56 USE GPOSDB 57 SELECT f.avg_fragmentation_in_percent ,f.avg_fragment_size_in_pages ,f.fragment_count ,i.name FROM sys.dm_db_index_physical_stats(17,NULL ,NULL,NULL,NULL ) f INNER JOIN sys.indexes i ON f.index_id =i.index_id 58 WHERE i.name IS NOT NULL AND f.fragment_count >0 59 ORDER BY f.index_id 60 61 --显示日志大小,使用比率 62 DBCC SQLPERF(LOGSPACE)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!