-- 1. Kreiranje tabele bez indeksa CREATE TABLE Prodaja ( ProdajaID INT, DatumProdaje DATETIME, SifraProizvoda INT, Iznos DECIMAL(18,2), Komentar VARCHAR(500) ); -- 2. Popunjavanje tabele DECLARE @i INT = 1; WHILE @i <= 100000 BEGIN INSERT INTO Prodaja (ProdajaID, DatumProdaje, SifraProizvoda, Iznos, Komentar) VALUES (@i, DATEADD(minute, @i, '2023-01-01'), ABS(CHECKSUM(NEWID())) % 1000, RAND()*1000, 'Testni podatak'); SET @i = @i + 1; END; Select min(datumprodaje), max(datumprodaje) From prodaja -- Ukljucivanje statistike izvrsavanja SET STATISTICS IO ON; SET STATISTICS TIME ON; -- Upit koji trazi specificnu prodaju po ID-u SELECT * FROM Prodaja WHERE ProdajaID = 85433; -- Execution Plan: "Table Scan" -- Proverava se svih 100.000 redova da bi nasao jedan. -- Kreiranje Clustered indeksa (ovo ce fizicki sortirati tabelu po ProdajaID) CREATE CLUSTERED INDEX IX_Prodaja_ProdajaID ON Prodaja (ProdajaID); -- Upit za poredjenje SELECT * FROM Prodaja WHERE ProdajaID = 85433; -- Rezultat u Execution Plan-u: "Clustered Index Seek" -- Podatak se pronalazi u svega nekoliko logickih citanja.