1. A method of replicating transactions from a source database to a target database in a data replication system, the system including a first memory location that persistently stores statement text associated with transactions to be replicated, the method comprising: (a) caching transactions to be replicated by separating the transactions into: (i) statement text, and (ii) statement data; and (b) determining if the statement text has been previously stored in the first memory location; and if not, persistently storing the statement text to the first memory location.