SQL Server数据库分区表
发布时间:2021-01-12 12:19:12 所属栏目:MySql教程 来源:网络整理
导读:今天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】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |