加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL Server数据库分区表

发布时间:2021-01-12 07:31:49 所属栏目:编程 来源:网络整理
导读:本日PHP站长网 52php.cn把网络自互联网的代码分享给各人,仅供参考。 本文先容一个SQL Server数据库分区表的应用实例,通过这个实例,我们得出:建设分区表可以优化查询的服从。接下来就让我们来一路看看这个实例吧。AD:

以下代码由PHP站长网 52php.cn网络自互联网

此刻PHP站长网小编把它分享给各人,仅供参考

本文先容一个SQL Server数据库分区表的应用实例,通过这个实例,我们得出:建设分区表可以优化查询的服从。接下来就让我们来一路看看这个实例吧。

AD: 


用SQL Server数据库做一个网游发号体系。成果是将厂商给的N个卡号导入到库里在牢靠的时刻为用户提供领取。这个体系最大的亮点应该就是这个N的不确定性,差异的厂商提供的卡数目差异,N也许是10也也许是10W。颠末说明得表布局如下图:



此刻做一个简朴的测试,在这个内外插入2000W条数据,然后按照ActivityID随机查询一条数据出来,居然必要4秒多。。于是抉择实行用分区表来优化查询服从。

分区函数如下:

CREATE PARTITION FUNCTION [Card_PF](int)   AS   RANGE LEFT FOR VALUES (500,1000,1500,2000,2500,3000) 这里我是用的ActivityID作为分区的前提。每500个勾当一个区。

分区方案如下:

CREATE PARTITION SCHEME [Card_PS]   AS   PARTITION [Card_PF] TO ([Card1],[Card2],[Card3],[Card4],[Card5],[Card6],[Card7]) 下图是对应的文件和文件组:





接下来就是最要害的一步,为这个表增进一个聚合索引,而且回收上面建设的分区方案:



到此为止分区表已经建设完毕,为了更好的测试结果我在这个新成立的内外重新插入2000W条数据,同样的SQL语句运行时刻在1秒阁下。

以上内容由PHP站长网【52php.cn】网络清算供各人参考研究

假如以上内容对您有辅佐,接待保藏、点赞、保举、分享。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读