为什么我们必须在表分区中使用 SWITCH?

cgs*_*ari 3 sql-server-2005 sql-server-2008 sql-server partitioning

我是 SQL 的初学者。

我想知道SWITCH表分区的重要性是什么?

我创建了一个按月分区的表,总共有 12 个分区。

范围是:

'2012-01-31 23:59:59.000', 
'2012-02-29 23:59:59.000', 
'2012-03-31 23:59:59.000', 
'2012-04-30 23:59:59.000', 
'2012-05-31 23:59:59.000', 
'2012-06-30 23:59:59.000', 
'2012-07-31 23:59:59.000', 
'2012-08-31 23:59:59.000', 
'2012-09-30 23:59:59.000', 
'2012-10-31 23:59:59.000', 
'2012-11-30 23:59:59.000', 
'2012-12-31 23:59:59.000'
Run Code Online (Sandbox Code Playgroud)

Rem*_*anu 12

Switch 是一种向表中添加或删除数据的极其有效的方法。

可以切换数据,这是在ETL过程上传数据的首选方式。通过在暂存表中准备数据(与您的实际数据完全无关),您可以在没有并发问题的情况下准备它(您的 ETL 不会阻止报告)并在一个开关中呈现新数据,从而立即变得可见.

可以切换的数据,这是过去的规定的保持期删除数据的首选方式。这允许在切换后高效且最少记录地截断数据。在许多环境中由于高并发,这是删除数据的唯一方法。

基本上任何启用分区有意义的操作都需要 SWITCH。如果您已经启用了分区并且仍然在寻找对 SWITCH 的解释,那么几乎可以肯定您一开始就不需要分区。