インデックスメンテナンスを初めて行っています。ほとんどのインデックスはcreate index
とdrop_existing = on
で修正されています。たとえば:既存のインデックスを変更する:drop_existing = onとalter indexステートメントを使用してインデックスを作成します。
create nonclustered index ixn_SomeTable__SomeIndexName_ic1
on dbo.SomeTable (Column1)
include (Column2, IncludeThisNewColumn3)
with (sort_in_tempdb = on, drop_existing = on, online = on, fillfactor = 95) on [SomeFileGroup]
go
が、私はTSQLもalter index
文を持っている参照してください。
質問 -
drop_existing=on
は何をしますか?存在する場合は索引を削除して再作成するか、索引の再構築が必要ない場合は索引の再構築時に保存します(データの再索引付けなど)。 (たとえば、非クラスタ化インデックスの列を含む)?create index with drop_existing = on
とalter index
の違いは何ですか?私は絶対にどちらか一方を使用する必要がありますか?- インデックスへの変更が進行中で、使用できなくなる時間を最小限に抑える方法がある場合、インデックスは使用できなくなりますか?