1

SQLデータベースのインデックスを再作成したいと思います。私はそれに完全に新しいです。

Microsoft SQLServer10.50.2500を使用しています。

誰かがこれを行うための最良の方法を提案できますか?同じための無料のツールはありますか?

ありがとう。

4

2 に答える 2

2

どの DBMS を使用していますか? これは SQL Server 用です。SQL サーバーを使用している場合は、管理スタジオを使用して、テーブル -> インデックスをドリルダウンできます。次に、各インデックスを右クリックして再構築するか、次のようなストアド プロシージャを作成します。

CREATE PROCEDURE [dbo].[Sp_ReindexAll]

AS
BEGIN

    SET NOCOUNT ON;



    EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"

    EXEC sp_updatestats

END
于 2013-01-31T06:59:28.760 に答える
1

これは、DBMS 自体に依存します。おそらく最も移植性の高い解決策は、単にインデックスを削除してから再作成することです (もちろん、2 つの操作の間にインデックスに違反するレコードをテーブルに挿入しないようにします)。

しかし、私が自問する最初の質問はなぜこれが必要だと思うのかということです。新しいインデックスを追加する (または古いインデックスを削除する) 必要があるかもしれませんが、DB 以外の変更で現在のインデックスの再インデックスが必要になる可能性は低いと思われます。

于 2013-01-31T07:07:26.403 に答える