与普通方法相比,使用表分区有多优势?
是否存在一种可以统计的样本案例或详细的比较分析(我知道这个词太强了,但如果有一些数字说明它会真的有帮助)强调过程的效用。
答案 0 :(得分:2)
分区非常强大,实际上是将表数据划分为几个较小的表 - 然后使用视图统一它们。
例如,'ipnumbers'可以分为表'ipnumbers_1','ipnumbers_2'和'ipnumbers_3',其中第一个表包含约束,因此只存储0.0.0.0 - 50.0.0.0范围内的ipnumbers,并且第二个表包含仅允许存储范围50.0.0.1到100.0.0.0等的约束。然后可以添加一个视图,将分区表统一为一个:
SELECT * FROM ipnumbers_1
UNION ALL
SELECT * FROM ipnumbers_2
UNION ALL
SELECT * FROM ipnumbers_3
现在,当您查询某个ipnumber的视图时:
SELECT * FROM ipnumberview WHERE ipno=60.0.0.1
.. SQL Server查询优化器将知道只有表'ipnumbers_2'必须被检查,因此您获得了巨大的速度提升。
此外,可以插入模式绑定视图(自动将数据放在正确的目标表中),并且可以将表放在不同的服务器上(尽管设置有点棘手),您还可以向视图添加索引。
玩得开心!
答案 1 :(得分:0)