Will a DBCC CHECKDB with repair have to rescan?
To add to the answer above, if you're on Enterprise Edition, where a normal DBCC CHECKDB will run in parallel, when you run with a repair option it must run single-thread, so it will also take more time.

Any DBCC CHECK* command has to scan all the data as the results from any previous DBCC CHECK* command are 


not persisted anywhere
in no way can be trusted to still be accurate.


Also be wary of REPAIR_ALLOW_DATA_LOSS on SQL Server 2000 - there are many repairs that do not work correctly, that I fixed for SQL Server 2005 as part of my general rewrite of the code base.

Thanks