SQL Server数据库分区表-will.miao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


SQL Server数据库分区表

发表时间:2017/11/3 8:00:18 评论(1) 浏览(3275)  评论 | 加入收藏 | 复制
   
摘 要:本文介绍一个SQL Server数据库分区表的应用实例,通过这个实例,我们得出:创建分区表可以优化查询的效率。接下来就让我们来一起看看这个实例吧。
正 文:
AD:
用SQL Server数据库做一个网游发号系统。功能是将厂商给的N个卡号导入到库里在固定的时间为用户提供领取。这个系统最大的亮点应该就是这个N的不确定性,不同的厂商提供的卡数量不同,N可能是10也可能是10W。经过分析得表结构如下图:
现在做一个简单的测试,在这个表里插入2000W条数据,然后根据ActivityID随机查询一条数据出来,居然需要4秒多。。于是决定尝试用分区表来优化查询效率。
分区函数如下:
CreatePARTITIONFUNCTION[Card_PF](int)  AS  RANGELEFTFORVALUES(500, 1000, 1500, 2000, 2500, 3000) 这里我是用的ActivityID作为分区的条件。每500个活动一个区。
分区方案如下:
CreatePARTITION SCHEME [Card_PS]  AS  PARTITION [Card_PF]TO([Card1], [Card2], [Card3], [Card4], [Card5], [Card6], [Card7]) 下图是对应的文件和文件组:
接下来就是最关键的一步,为这个表增加一个聚合索引,并且采用上面创建的分区方案:
到此为止分区表已经创建完毕,为了更好的测试效果我在这个新建立的表里从新插入2000W条数据,同样的SQL语句运行时间在1秒左右。

Access软件网交流QQ群(群号:198465573)
 
 相关文章
[分享]中国地区分区表--加了增加,删除,查询,打印,等ADO功能...  【菩明本何  2009/1/31】
SQL SERVER中使用WITH TIES获取前几行数据  【缪炜  2017/9/3】
SQL Server ltrim(rtrim()) 去不掉空格的原...  【宏鹏  2017/9/6】
SQL Server 2008等登录用户只能看到自己的数据库设置办...  【杜超  2017/9/25】
sql server建表时设置ID字段自增的简单方法  【宏鹏  2017/11/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

will.miao

文章分类

文章存档

友情链接