+ -
当前位置:首页 → 问答吧 → 对表的问题

对表的问题

时间:2011-11-09

来源:互联网

表有1千万左右的数据,现在想对本身的一个非聚集索引 时间的一个字段改变成聚集索引
请问下 对这个表的查询,更新,插入方面是否有影响,如果有影响,需要做那些调整
比如是否需要对本身这个表的其他索引要重建呢? 还是其他措施要做?

作者: pengke0828   发布时间: 2011-11-09

1.有影响,有些操作会加快,但插入操作会减慢
2.这么重要的索引都重建了,其他索引重建一下也很快的.

作者: qianjin036a   发布时间: 2011-11-09

引用楼主 pengke0828 的回复:
表有1千万左右的数据,现在想对本身的一个非聚集索引 时间的一个字段改变成聚集索引
请问下 对这个表的查询,更新,插入方面是否有影响,如果有影响,需要做那些调整
比如是否需要对本身这个表的其他索引要重建呢? 还是其他措施要做?


查询会变快。但是增删改,就会慢些。 聚集索引都变了,其它索引也应该重建。

作者: OrchidCat   发布时间: 2011-11-09

用分區表處理

作者: roy_88   发布时间: 2011-11-09

现在因为按这个时间字段查询 查个3天数据 很慢,所以考虑改成聚集索引,但是不知道对这个表是否有影响 其他索引有受什么影响,毕竟是千万级别的数据

作者: pengke0828   发布时间: 2011-11-09

引用 3 楼 roy_88 的回复:
用分區表處理


分区表如何做,对分区表没有什么概念,愿听详解

作者: pengke0828   发布时间: 2011-11-09

引用 5 楼 pengke0828 的回复:

引用 3 楼 roy_88 的回复:
用分區表處理


分区表如何做,对分区表没有什么概念,愿听详解


参考http://msdn.microsoft.com/zh-cn/library/ms177411.aspx

作者: OrchidCat   发布时间: 2011-11-09

引用 5 楼 pengke0828 的回复:
引用 3 楼 roy_88 的回复:
用分區表處理


分区表如何做,对分区表没有什么概念,愿听详解


http://msdn.microsoft.com/zh-cn/library/ms345146(v=SQL.90).aspx

参考一下

作者: fredrickhu   发布时间: 2011-11-09

这个是2008的吧,我是2005的
短时间也摸不着这个东西,能不能看看 如果改成聚集索引呢?还需要做些什么 会对本身表没什么影响
本身其他的索引,里面其他的非聚集索引还存在一个时间字段的 如果把这个时间字段改成聚集的话 
其他我还应该做什么

作者: pengke0828   发布时间: 2011-11-09

引用 8 楼 pengke0828 的回复:

这个是2008的吧,我是2005的
短时间也摸不着这个东西,能不能看看 如果改成聚集索引呢?还需要做些什么 会对本身表没什么影响
本身其他的索引,里面其他的非聚集索引还存在一个时间字段的 如果把这个时间字段改成聚集的话
其他我还应该做什么

SQL2005可以

給你舉個例子

SQL code
use test
go
create partition function fn_Char(nvarchar(1))
AS
RANGE LEFT FOR VALUES ('A','B')

go
create Partition Scheme Sch_Char
as partition  fn_Char to
([primary],[primary],[primary])
go

set ANSI_WARNINGS on;
set ANSI_PADDING on;

CREATE TABLE Test
(
ID int identity(1,1),
Name nvarchar(50) not null,
Col as left(Name,1)  PERSISTED  primary key
) on Sch_Char(Col)


insert Test(Name) select 'AB'
insert Test(Name) select 'BA'

SELECT *, $PARTITION.fn_Char(Col) as 存儲分區位置 FROM Test

drop table Test

作者: roy_88   发布时间: 2011-11-09

以上是以計算列作為分區

作者: roy_88   发布时间: 2011-11-09

分区 能针对某个表进行分区吗

作者: pengke0828   发布时间: 2011-11-09

引用 11 楼 pengke0828 的回复:

分区 能针对某个表进行分区吗


是的,分區表就是這麼用的

作者: roy_88   发布时间: 2011-11-09