扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文是我关于数据库分区的方案的一些想法,或许有些问题。仅供大家讨论。SqlServer (SqlServer 2005\SqlServer 2008)实现分区需要在企业版下进行.
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、农安网站维护、网站推广。
SqlServer的分区分为大致有以下个过程:1、创建文件组用以存放数据文件 2、创建文件组用户数据文件 3、创建分区函数 4、创建分区方案 5、在分区方案下创建表
本文是在SqlServer2012 下完成的。
相当于把1个巨大的表拆分成数百个小表,特别是按照日期分,如果数据有3-5年,因为每次访问可能只是几天-几个月,这样就极大的缩少了数据范围,扫描的数据量少了,速度自然快了。。
再加上使用分区索引后,分区索引是针对单个分区表的索引,这样就会存在多个B+的索引,索引小了,维护起来自然快了,在单个分区里查询,其面对的索引树也是很小的,自然相关性能就提高了。。
SQLSERVER中,有时需要知道已经建了哪些分区表,从哪里看?
1、直接用SQL语句查:
--分区数大于1的,就是我们想查看的分区表:
SELECT p.*,'|' AS SP ,t.* FROM sys.partitions AS p
inner JOIN sys.tables AS t ON p.object_id = t.object_id
inner join (
select object_id as object_id2,index_id, count(*) AS CNT FROM sys.partitions
group by object_id,index_id
having count(*)1
) s on s.object_id2 = p.object_id
WHERE p.partition_id IS NOT NULL
order by t.name;
2、在管理器中查看:
Databases [数据库名称] 节点 存储(Storage) 节点
\ 分区架构(Partition Schemes ) 节点 选中一项 右键 查看依赖
\ 分区函数(Partition Functions ) 节点 选中一项 右键 生成脚本
3、有作多分区的表,属性的 存储(Storage) 会有 Partitioning 信息。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流