1 2 3 4 | create table test24( id int identity, d datetime not null ) |
Do tabulky jsem vložil 20 milionů řádků s různými datumy. Pro mazání jsem použil příkaz:
1 2 3 4 | begin transaction delete top(500000) from test24 where d > '2010-07-10 08:25:20.173' rollback |
Tato akce trvala:
- 6 sekund – bez indexů
- 12 sekund s create clustered index CI_d on test24(id)
- 32 sekund s create nonclustered index NIX_d on test24(d)
- 37 sekund pokud tabulka obsahuje oba indexy výše
- 33 sekund po rebuildu nonclustered indexu
Při mazání se používal index scan. Index seek se použil při mazání max. 5 tis. záznamů, nicméně aktualizace indexu při tolika záznamech vyžaduje velkou časovou náročnost.