Snapshot Isolation (SI) protocol is a database transaction processing algorithm used by some of commercial database systems to manage the concurrent executions of database transactions. SI protocol is a special case of multi-version algorithm. It avoids many of the anomalies typical for the concurrent processing of database transactions. Unfortunately, SI protocol does not guarantee correct serialization of database transactions under certain conditions. A recent work  proposed a formal solution, which characterizes the correctness of transactions running under SI protocoL However, the protocol is inefficient when it comes to processing long transactions. In this paper, we show that the limitations imposed on the structures of long transactions improve performance of SI protocol. A different way to characterize the serializability of schedule under SI dynamically is proposed and proved.