As in first reply, whenever you issue INSERT command on any table, after its completion i.e. after inserting the new row in the table, Teradata automatically stores its ROW-ID in transient journal, if the transaction is successful the inserted row is kept/commited, if transaction is to be rolled-back, Teradata will get the ROW-ID from transient journal and will delete the inserted row so that Database may be in consistant form.
To answer why operations are faster on empty tables than populated tables...
Because when any operation is done on empty table the TJ just has one row in it , meaning that this table is empty... and in case of rollback ...just make the table empty again.... Where as when you have a populated table and your operation involve 10000 inserts and 50000 updates in single txn . these many corresponding entries are also made into TJ....no wonder the operation takes that bit of extra time/cpu.
Yeah, the bulk load utilities don’t need TJ... infact the later versions of DB/utilities affects at a block level.