sql server数据库分区表 sql server 本文介绍一个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秒左右。
