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

主キーを非クラスター化からクラスター化に変更する

    1) 最初に既存のクラスター化インデックスを削除します (IX_TableX_FieldB):

       DROP INDEX TableX.IX_TableX_FieldB
    

    2) 主キーで参照される一意のフィールドに (一時的な) UNIQUE 制約を作成します

        ALTER TABLE TableX
        ADD CONSTRAINT UQ_TableX UNIQUE(FieldA)
    

    3) PRIMARY KEY をドロップ

        ALTER TABLE TableX
        DROP CONSTRAINT PK_TableX
    

    4) PRIMARY KEY を CLUSTERED として再作成します

       ALTER TABLE TableX
       ADD CONSTRAINT PK_TableX PRIMARY KEY CLUSTERED(FieldA)
    

    5) 一時的な UNIQUE 制約を削除します

       ALTER TABLE TableX
       DROP CONSTRAINT UQ_TableX
    

    6) IX_TableX_FieldB を NONCLUSTERED として追加します

       CREATE NONCLUSTERED INDEX IX_TableX_FieldB ON TableX(FieldB)
    


    1. SQLSTATE [HY000]:一般エラー:1298不明または不正なタイムゾーン:「UTC」ウィンドウ

    2. SELECTステートメントのサブクエリ(MySQL)

    3. OracleLiveSQL入門

    4. MySQL:すべての属性がリストされている製品を入手する