当前位置: 首页 > news >正文

sql server 分区表查询


----查询是要指定的数据库下查询,否则查询不到信息
--查看是否是分区表
SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, *   
FROM sys.tables AS t   
JOIN sys.indexes AS i   ON t.[object_id] = i.[object_id]   
JOIN sys.partition_schemes ps   ON i.data_space_id = ps.data_space_id   
WHERE t.name = 'table_name';   
GO
--确定已分区表的边界值
SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, t.name AS TableName, i.name AS IndexName, p.partition_number, p.partition_id, i.data_space_id, f.function_id, f.type_desc, r.boundary_id, r.value AS BoundaryValue   
FROM sys.tables AS t  
JOIN sys.indexes AS i  ON t.object_id = i.object_id  
JOIN sys.partitions AS p  ON i.object_id = p.object_id AND i.index_id = p.index_id   
JOIN  sys.partition_schemes AS s   ON i.data_space_id = s.data_space_id  
JOIN sys.partition_functions AS f   ON s.function_id = f.function_id  
LEFT JOIN sys.partition_range_values AS r   ON f.function_id = r.function_id and r.boundary_id = p.partition_number  
WHERE t.name = 'table_name' AND i.type <= 1  
ORDER BY SchemaName, t.name, i.name, p.partition_number;--查看分区列
SELECT   t.[object_id] AS ObjectID, SCHEMA_NAME(t.schema_id) AS SchemaName, t.name AS TableName   , ic.column_id AS PartitioningColumnID   , c.name AS PartitioningColumnName, i.name as IndexName
FROM sys.tables AS t   
JOIN sys.indexes AS i   ON t.[object_id] = i.[object_id]   AND i.[type] <= 1 -- clustered index or a heap   
JOIN sys.partition_schemes AS ps   ON ps.data_space_id = i.data_space_id   
JOIN sys.index_columns AS ic   ON ic.[object_id] = i.[object_id]   AND ic.index_id = i.index_id   AND ic.partition_ordinal >= 1 -- because 0 = non-partitioning column   
JOIN sys.columns AS c   ON t.[object_id] = c.[object_id]   AND ic.column_id = c.column_id   
WHERE t.name = 'table_name';   
GO---每个分区中可能的值范围的行SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, t.name AS TableName, i.name AS IndexName, p.partition_number AS PartitionNumber, f.name AS PartitionFunctionName, p.rows AS Rows, rv.value AS BoundaryValue, 
CASE WHEN ISNULL(rv.value, rv2.value) IS NULL THEN 'N/A' 
ELSECASE WHEN f.boundary_value_on_right = 0 AND rv2.value IS NULL THEN '>=' WHEN f.boundary_value_on_right = 0 THEN '>' ELSE '>=' END + ' ' + ISNULL(CONVERT(varchar(64), rv2.value), 'Min Value') + ' ' + CASE f.boundary_value_on_right WHEN 1 THEN 'and <' ELSE 'and <=' END + ' ' + ISNULL(CONVERT(varchar(64), rv.value), 'Max Value') 
END AS TextComparison
FROM sys.tables AS t  
JOIN sys.indexes AS i  ON t.object_id = i.object_id  
JOIN sys.partitions AS p  ON i.object_id = p.object_id AND i.index_id = p.index_id   
JOIN  sys.partition_schemes AS s   ON i.data_space_id = s.data_space_id  
JOIN sys.partition_functions AS f   ON s.function_id = f.function_id  
LEFT JOIN sys.partition_range_values AS r   ON f.function_id = r.function_id and r.boundary_id = p.partition_number  
LEFT JOIN sys.partition_range_values AS rvON f.function_id = rv.function_idAND p.partition_number = rv.boundary_id     
LEFT JOIN sys.partition_range_values AS rv2ON f.function_id = rv2.function_idAND p.partition_number - 1= rv2.boundary_id
WHERE t.name = 'table_name'AND i.type <= 1 
ORDER BY t.name, p.partition_number;

参考:
 创建分区的表和索引 - SQL Server, Azure SQL Database, Azure SQL Managed Instance | Microsoft Learn

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaEE:网络初识
  • Spring Boot:现代化Java应用开发的艺术
  • Blazor静态服务端呈现(静态SSR)身份认证
  • 【Python笔记】PyCharm大模型项目环境配置
  • Qt 定时器-定时备份
  • 微信小程序中实现类似于 ECharts 的图表渲染及优化
  • 家电制造的隐形守护者:矫平机确保材料完美无瑕
  • gin基本使用
  • 探索Python的Excel世界:openpyxl的魔法之旅
  • 51单片机应用开发---数码管的控制应用
  • ERP进销存管理系统的业务全流程 Axure高保真原型源文件分享
  • springBoot整合easyexcel实现导入、导出功能
  • 递归10小题
  • 一篇文章,讲清SQL的 joins 语法
  • 架构设计——概念和基础
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • eclipse的离线汉化
  • EventListener原理
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • nfs客户端进程变D,延伸linux的lock
  • oldjun 检测网站的经验
  • yii2权限控制rbac之rule详细讲解
  • 成为一名优秀的Developer的书单
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 基于web的全景—— Pannellum小试
  • 前端路由实现-history
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 一个项目push到多个远程Git仓库
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • # 安徽锐锋科技IDMS系统简介
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $jQuery 重写Alert样式方法
  • (20)docke容器
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (四)c52学习之旅-流水LED灯
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)C#调用WebService 基础
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linq学习笔记
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .net 7 上传文件踩坑
  • .NET CLR Hosting 简介
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net 反编译_.net反编译的相关问题
  • .net 流——流的类型体系简单介绍
  • .net 托管代码与非托管代码
  • @AliasFor 使用