首页 > 数据库 >SQL Server 2019 新增函数

SQL Server 2019 新增函数

时间:2023-01-10 23:31:54浏览次数:42  
标签:info dm -- db Server sys 2019 SQL page


 sys.dm_db_page_info 某个数据页的头部信息

USE master
GO
CREATE DATABASE Test;
GO
USE Test;
GO
SELECT [object_id] as objectid,name,type_desc,create_date,modify_date INTO myobjects FROM sys.objects
GO

--------------------------------------------------------------------------------------------------
-- sys.dm_db_page_info 某个数据页的头部信息
--------------------------------------------------------------------------------------------------
-- 表所有数据页信息
DBCC IND('Test','myobjects',-1)
GO

-- 表所有数据页信息 (SQL Server 2012 函数)
-- select * from sys.dm_db_database_page_allocations(@DatabaseId , @TableId , @IndexId , @PartionID , @Mode)
SELECT * FROM sys.dm_db_database_page_allocations(DB_ID(),OBJECT_ID('myobjects'),null,null,'Detailed') WHERE is_allocated=1
GO


-- 根据上面的结果,查看某个数据页的具体信息
DBCC TRACEON(3604)
GO
DBCC PAGE(TEST,1,280,3)
GO

-- 某个数据页的头部信息 (SQL Server 2019 函数)
-- select * from sys.dm_db_page_info ( @DatabaseId, @FileId, @PageId, @Mode )
SELECT * FROM sys.dm_db_page_info ( DB_ID(), 1, 280, 'Detailed' )
GO


-- 两个系统视图也新增了字段 [page_resource],用于处理页等待情况。
SELECT page_resource FROM sys.sysprocesses
SELECT page_resource FROM sys.dm_exec_requests

SELECT page_info.*
FROM sys.dm_exec_requests AS d
CROSS APPLY sys.fn_PageResCracker(d.page_resource) AS r
CROSS APPLY sys.dm_db_page_info(r.db_id, r.file_id, r.page_id,'DETAILED') AS page_info;
GO

sys.dm_db_database_page_allocations 与 DBCC IND 结果字段差异:

SQL Server 2019 新增函数_Server

APPROX_COUNT_DISTINCT 快速统计非空字段的非重复近似总数

--------------------------------------------------------------------------------------------------
-- APPROX_COUNT_DISTINCT 快速统计非空字段的非重复近似总数
--------------------------------------------------------------------------------------------------
-- Oracle 12c 已经有了该函数 ,对大量数据统计很有用(不是很准确)

SELECT APPROX_COUNT_DISTINCT(name),COUNT(name) FROM myobjects

 

标签:info,dm,--,db,Server,sys,2019,SQL,page
From: https://blog.51cto.com/hzc2012/6000779

相关文章

  • SQL Server 2016 Always Encrypted(始终加密)
    AlwaysEncrypted功能旨在保护AzureSQLDatabase或SQLServer数据库中存储的敏感数据,如信用卡号或身份证号(例如美国社会安全号码)。始终加密允许客户端对客户端应用程......
  • 简易版NewSql数据库--单机版kv存储
    数据结构:哈希桶,每个桶内可以装8个数据,然后每一个桶20个相同的桶,在写入的时候,首先通过哈希找到对应的桶,然后在根据当前该哈希值已经有的数量,判断要找存到20个......
  • SparkSQL与Hive查询不一致问题
    问题Sparksql查询出的数据量与hive不一致,重启spark就没问题,查询结果一致。或者报错说读取的文件不存在,类似如下的错误FileReadException:Errorwhilereadingfilexxx.......
  • SQL优化案例9(广东某管理局项目)
    同事找我优化SQL,同一条SQL语句LIKE过滤条件不同,执行时间差别很多,废话不说安排一下。LIKE过滤条件执行快的SQL和执行计划:EXPLAINANALYZESELECTcase_id,cate_......
  • buuctf-web方向--ssrf+sql+dirscan
    [网鼎杯2018]Fakebook首先,扫描该网站利用dirsearch进行扫描获取robot.txt,从中发现源码备份/user.php.bak下载后可读取源码<?phpclassUserInfo{public$name......
  • Windows server 2019 打开ping的方法
    ​在windowsserver2019中,用ping服务器ip地址时,会ping不通,是因为防火墙阻止PING导致的,需要放通PING。 解决办法:一、命令行方式进入服务器后点击开始——运行输入命令......
  • luogu P5291 [十二省联考 2019] 希望
    题面传送门真的很想吐。题目的意思大概就是在一棵树上选出\(k\)个联通块,使得这\(k\)个联通块有交。显然联通块的交还是联通块,因此转化为对联通块计数。而联通块个数等于......
  • MySQL join语句怎么优化?
    在MySQL的实现中,Nested-LoopJoin有3种实现的算法:1、SimpleNested-LoopJoin:简单嵌套循环连接2、BlockNested-LoopJoin:缓存块嵌套循环连接3、IndexNested-LoopJ......
  • oracle merge into与sqlserver merge into 比较
    mergeinto:在两个表之间,根据与源表联接的结果,对目标表执行插入、更新或删除操作。Oracle在9i引入了mergeinto命令,SQLServer2008也引入mergeinto。不多说了,实例对比一......
  • sqlserver 锁
    【对锁机制的研究要具备两个条件:】----------------------------------------1.数据量大2.多个用户同时并发如果缺少这两个条件,数据库不容易产生死锁问题。如果具备这两个条件......