The behavior and performance of two fundamentally different concurrency control algorithms (CCAs) for single-site databases has been investigated. These are the dynamic two-phase locking (2PL) and the commit-time validation (CTV) algorithms. 2PL represents a pessimistic approach to concurrency control whereas CTV is an optimistic approach. For each algorithm a performance model has been constructed and a simulation has been performed. Three parameters affecting data contention are studied: the degree of multiprogramming (the load effect), the read/write mix (ratio of query to update) and the database granularity. Unlike previous studies, the combined effect of these three parameters has been considered, providing insight into their composite impact.