핵심은 연산을 섞는 모양이 아니라, 한 트랜잭션의 대기 구간을 다른 트랜잭션의 실행 구간으로 바꿔서 CPU와 자원을 놀리지 않는 데 있습니다.
디스크 I/O나 잠금 대기로 인해 T1이 바로 다음 연산을 못 하면, 직렬 실행에서는 그 구간이 그대로 빈 시간처럼 남습니다.
두 트랜잭션이 같은 시간 흐름 안에서 번갈아 실행되므로, 대기와 실행이 겹치지 않고 서로 메워집니다.
같은 CPU와 자원을 번갈아 써서, 한 트랜잭션만 끝까지 독점할 때보다 같은 시간 안에 더 많은 작업이 진행됩니다.
비직렬 스케줄의 장점은 한 트랜잭션의 대기 시간이 다른 트랜잭션의 실행 시간으로 전환된다는 점입니다. 그래서 동시성이 높아지고, 전체 throughput도 함께 올라갑니다.