🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / MSSQL RMOS / mssql tüm tabloların indexini yenileme silip tekrar otamatik oluşturma Non clustered index Refreshing and deleting the index of all tables and creating them again automatically

1-) MSSQL RMOS - mssql tüm tabloların indexini yenileme silip tekrar otamatik oluşturma Non clustered index Refreshing and deleting the index of all tables and creating them again automatically

 

1- tek tablonun tüm indexlerini yenilemek

 

ALTER INDEX ALL ON dbo.TabloAdi REBUILD;

 

 

2- tek tablonun tek indexini yenilemek

 

ALTER INDEX indexAdi  ON TabloAdi  REBUILD

 

 

 

3- Tüm tabloların tüm indexini yenileme

 

USE Pub21; -- Bu satırı kendi veritabanı adınıza göre güncelleyin

GO

 

DECLARE @TableName NVARCHAR(256);

DECLARE @SQL NVARCHAR(MAX);

 

DECLARE TableCursor CURSOR FOR

SELECT s.name + '.' + t.name AS TableName

FROM sys.tables t

JOIN sys.schemas s ON t.schema_id = s.schema_id;

 

OPEN TableCursor;

FETCH NEXT FROM TableCursor INTO @TableName;

 

WHILE @@FETCH_STATUS = 0

BEGIN

    SET @SQL = N'ALTER INDEX ALL ON ' + @TableName + ' REBUILD;';

    PRINT @SQL; -- Bu satırı, çalıştırılacak SQL komutunu görmek için ekledim

    --EXEC sp_executesql @SQL;

 

    FETCH NEXT FROM TableCursor INTO @TableName;

END;

 

CLOSE TableCursor;

DEALLOCATE TableCursor;

GO

 

 

 

 

4- rebuild yerine drop ardından create yapabilirsin. -> index varsa drop yap ardından create yap. (2.yol)

     not : procedürün içine yazdım (Ayrıca aşağıdaki kodda index oluşturmada var!!! )

 

CREATE proc [dbo].[indexBas] as begin

 

IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'barkodIndex')  DROP INDEX barkodIndex ON dbo.Firma;   

 

CREATE NONCLUSTERED INDEX barkodIndex ON dbo.Firma ([barkod]);   

 

-- diğer column için

IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'urlIndex')   

    DROP INDEX urlIndex ON dbo.Firma;   

 

CREATE NONCLUSTERED INDEX urlIndex   

    ON dbo.Firma ([url]);   

end

 

 

 2024 Temmuz 01 Pazartesi
 253