sql >> データベース >  >> RDS >> Sqlserver

テーブルスイッチの変更はSQLサーバーでどのように機能しますか?

    ステートメントを使用したデータの挿入

    insert into T2 select * from T1
      

    T1 から T2 にデータを挿入することによってデータをロードします。パーティションが転送 (切り替え) されるとき、データは物理的に移動されません。データの場所に関するメタデータのみが変更されます。

    パーティションを切り替える前に、いくつかの一般的な要件を満たす必要があります:

    パーティションを切り替えるための一般的な要件:

    パーティションが転送されるとき、データは物理的に移動されません。データの場所に関するメタデータのみが変更されます。パーティションを切り替える前に、いくつかの一般的な要件を満たす必要があります:

    <オール>
  1. SWITCH 操作の前に、両方のテーブルが存在している必要があります。切り替え操作を実行する前に、パーティションの移動元のテーブル (ソース テーブル) とパーティションを受け取るテーブル (ターゲット テーブル) がデータベースに存在している必要があります。
  2. 受信パーティションが存在し、空である必要があります。テーブルをパーティションとして既存のパーティション テーブルに追加する場合でも、あるパーティション テーブルから別のパーティション テーブルにパーティションを移動する場合でも、新しいパーティションを受け取るパーティションが存在し、空のパーティションである必要があります。
  3. 受信側のパーティション化されていないテーブルが存在し、空である必要があります。パーティションを再割り当てして 1 つの非パーティション テーブルを形成する場合、新しいパーティションを受け取るテーブルが存在し、空の非パーティション テーブルである必要があります。
  4. パーティションは同じ列にある必要があります。分割テーブルを別の分割テーブルに切り替える場合、両方のテーブルを同じ列で分割する必要があります。
  5. ソース テーブルとターゲット テーブルは同じファイル グループを共有する必要があります。 ALTER TABLE...SWITCH ステートメントのソース テーブルとターゲット テーブルは同じファイル グループに存在する必要があり、それらの大きな値の列は同じファイル グループに格納されている必要があります。対応するインデックス、インデックス パーティション、またはインデックス付きビュー パーティションも同じファイル グループに存在する必要があります。ただし、ファイル グループは、対応するテーブルまたは他の対応するインデックスのものとは異なる場合があります。
  6. この情報とその他の情報は次の場所にあります:

    https://technet.microsoft.com/ en-us/library/ms191160(v=sql.105).aspx




    1. 親カテゴリに基づくjQueryajax無制限の動的選択ボックス

    2. HTML ::TableExtract:正しい引数を実行する方法[実際の例を参照]

    3. 作業単位のクローンでJPANullまたはゼロの主キーが検出されました

    4. codeigniterを使用して各カテゴリの降順で3つのレコードを取得する