Re: Performance pb vs SQLServer.
От | John A Meinel |
---|---|
Тема | Re: Performance pb vs SQLServer. |
Дата | |
Msg-id | 43049ED2.1080606@arbash-meinel.com обсуждение исходный текст |
Ответ на | Re: Performance pb vs SQLServer. ("Qingqing Zhou" <zhouqq@cs.toronto.edu>) |
Список | pgsql-performance |
Qingqing Zhou wrote: > "Alvaro Herrera" <alvherre@alvh.no-ip.org> writes > >>Interesting; do they use an overwriting storage manager like Oracle, or >>a non-overwriting one like Postgres? >> > > > They call this MVCC "RLV(row level versioning)". I think they use rollback > segment like Oracle (a.k.a "version store" or tempdb in SQL Server). Some > details are explained in their white paper:"Database concurrency and row > level versioning in SQL Server 2005". > > Regards, > Qingqing > I found the paper here: http://www.microsoft.com/technet/prodtechnol/sql/2005/cncrrncy.mspx And it does sound like they are doing it the Oracle way: When a record in a table or index is updated, the new record is stamped with the transaction sequence_number of the transaction that is doing the update. The previous version of the record is stored in the version store, and the new record contains a pointer to the old record in the version store. Old records in the version store may contain pointers to even older versions. All the old versions of a particular record are chained in a linked list, and SQL Server may need to follow several pointers in a list to reach the right version. Version records need to be kept in the version store only as long as there are there are operations that might require them. John =:->
Вложения
В списке pgsql-performance по дате отправления: