sql-server – 我可以通过更新分区键在分区之间移动行吗?
发布时间:2020-12-25 19:08:40 所属栏目:MsSql教程 来源:网络整理
导读:我认为这将是一个相当简单的问题,但实际上我很难找到答案. 问题是: 您是否可以通过简单地更新分区列以使其跨越分区边界,将分区表中的数据行从一个分区移动到另一个分区? 例如,如果我有一个具有分区键的表: CREATE TABLE SampleTable( SampleID INT PRIMARY
|
我认为这将是一个相当简单的问题,但实际上我很难找到答案. 问题是: 例如,如果我有一个具有分区键的表: CREATE TABLE SampleTable
(
SampleID INT PRIMARY KEY,SampleResults VARCHAR(100) NOT NULL,)
使用映射到主键的分区函数: CREATE PARTITION FUNCTION MyPartitionFunc (INT) AS RANGE LEFT FOR VALUES (10000,20000); 我可以通过将SampleID从1更改为(例如)500,000来将行从第一个分区移到第三个分区吗? 注意:我将其标记为sql server 2005和2008,因为它们都支持分区.他们处理的方式有何不同? 解决方法我没有要测试的2005服务器.然而,2008似乎正如预期的那样处理:USE [Test]
GO
CREATE TABLE [IDRanges](
[ID] [int] NOT NULL
)
GO
CREATE PARTITION FUNCTION IDRange1 (int)
AS RANGE LEFT FOR VALUES (10) ;
GO
--Add one record to each partition
INSERT INTO IDRanges ([ID]) VALUES (17)
INSERT INTO IDRanges ([ID]) VALUES (7)
GO
--Verify records in partition
SELECT $PARTITION.IDRange1([ID]) AS Partition,COUNT(*) AS [COUNT]
FROM IDRanges
GROUP BY $PARTITION.IDRange1([ID])
ORDER BY Partition ;
GO
--Move row between partitions
UPDATE IDRanges
SET [ID] = 8 WHERE [ID] = 17
GO
--Verify records in partition
SELECT $PARTITION.IDRange1([ID]) AS Partition,COUNT(*) AS [COUNT]
FROM IDRanges
GROUP BY $PARTITION.IDRange1([ID])
ORDER BY Partition ;
您应该在更新之前在每个分区中看到一条记录,然后在第一个分区中看到两条记录. (编辑:海洋资讯信息网_我爱站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 从表中找出第n个最高薪水
- sql-server-2005 – 为什么SQL Server在运行参数化查询时不
- sql-server-2012 – 如何卸载SQL Server Management Studio
- sql – 优化BETWEEN日期语句
- sql-server-2008 – 托管我的网站和数据库与不同的提供商是
- 数据库设计 – 如何为消费者应用程序设计“NOSQL”数据库(例
- sql-server – 触发无限期WAITFOR会增加日志文件的大小吗?
- sql-server – 如何从一个存储过程启动3个存储过程时回滚
- SQL数据库备份怎样做?数据库备份代码解析
- sql-server – 可以改善SQL Server的崩溃恢复能力吗?
站长推荐
- TSQL – 如果记录存在于单个选择中,则将查询中的
- sql-server – 如何以非弃用的方式从VBA访问SQL
- sql-server – 如何从SQL Server Express 2005恢
- sql-server – 使用FreeTDS连接到MS SQL Server:
- sql中identity自增的方法是什么?
- 无序导致SQL
- sql-server – 无法在SSMS中找到服务器代理
- sql-server – ISO Week vs SQL Server Week
- @OrderBy导致java.lang.ClassCastException:ant
- sql-server – SSD上的SQL Server数据库 – 对于
热点阅读

