• Both approaches sound like excessive locking to me. Why are they putting such stringent locks on the system to begin with? Most people are trying to avoid locks and the blocks that they sometimes create, hence so much reliance on read_committed_snapshot.

    Without seeing the queries, query metrics, locks, blocking, etc., I can offer nothing but speculation as to why one would run faster than the other. It could be that serializable, which takes more locks at the start of transaction and maintains them across the transaction, is locking fewer pages than read_committed, but locking them longer? Just a guess since I can't see anything. I'd suggest getting a full set of metrics to understand the behaviors here.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning