SQL Server表分区的NULL值问题

发表于:2015-7-22 09:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:桦仔    来源:51Testing软件测试网采编

  插入测试数据
USE [sss]
CREATE TABLE TinyBlog(id INT  NULL,NAME VARCHAR(100))
ON [Sch_TinyBlog_Id](id)
SELECT * FROM TinyBlog ORDER BY id
INSERT INTO [dbo].[TinyBlog]
( [id], [NAME] )
VALUES  ( NULL, -- id - int
'3232'  -- NAME - varchar(100)
)
INSERT INTO [dbo].[TinyBlog]
( [id], [NAME] )
VALUES  ( -2, -- id - int
'-2'  -- NAME - varchar(100)
)
INSERT INTO [dbo].[TinyBlog]
( [id], [NAME] )
VALUES  ( 66, -- id - int
'66'  -- NAME - varchar(100)
)
INSERT INTO [dbo].[TinyBlog]
( [id], [NAME] )
VALUES  ( 0, -- id - int
'0'  -- NAME - varchar(100)
)
INSERT INTO [dbo].[TinyBlog]
( [id], [NAME] )
VALUES  ( -30, -- id - int
'-30'  -- NAME - varchar(100)
)
  表数据如下
  SELECT * FROM TinyBlog ORDER BY id
  分区分布
  --查看分区架构文件组分布
SELECT  CONVERT(VARCHAR(MAX), ps.name) AS partition_scheme ,
p.partition_number ,
CONVERT(VARCHAR(MAX), ds2.name) AS filegroup ,
CONVERT(VARCHAR(MAX), ISNULL(v.value, ''), 120) AS range_boundary ,
STR(p.rows, 9) AS rows
FROM    sys.indexes i
JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id
JOIN sys.destination_data_spaces dds ON ps.data_space_id = dds.partition_scheme_id
JOIN sys.data_spaces ds2 ON dds.data_space_id = ds2.data_space_id
JOIN sys.partitions p ON dds.destination_id = p.partition_number
AND p.object_id = i.object_id
AND p.index_id = i.index_id
JOIN sys.partition_functions pf ON ps.function_id = pf.function_id
LEFT JOIN sys.Partition_Range_values v ON pf.function_id = v.function_id
AND v.boundary_id = p.partition_number
- pf.boundary_value_on_right
WHERE   i.object_id = OBJECT_ID('TinyBlog')
AND i.index_id IN ( 0, 1 )
ORDER BY p.partition_number
--分区区间
--SELECT  *  FROM    sys.partition_range_values
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号