Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Newbie's Oracle 9i impression: it sucks
>Actually, you misunderstand what Howard is stating. What Howard is saying
>is:(chronologically down the page)
>
>Howard (starts a transaction)
>Howard updates the emp table changing all the males to females and females
>to males.(assume sex is not null)
>
>SQLJoe reads the emp table and does not see Howard's change. (Also SQLJoe
>can read the entire emp table because even though Howard updated the emp
>table - every row in this case - readers don't block writers and writers
>don't block readers)
>
>Howard issues a select * from emp and notices that he made the change he
>wanted to.
>
>Howard issues a commit; (thus making the change visible)
>
>SQLJoe issues a commit and does a select * from emp. SQLJoe notices that
>all the males are now females and the females are now males.(He sees
>Howard's change)
>
>MS SQL Server does not work that way. In Oracle it is called
>multiversioning.
>
>Jim
Your example was somewhat confusing. But I believe you were talking about locking and different levels of transaction isolation.
Believe it or not, MS SQL allows you set four different types of transaction isolation. So you can have manual control over just exactly when and how you can read, insert, and delete data when there are multiple transactions happening to a same row or table. Fruthermore, MS SQL uses ROW level locking now (since SQL 7.0). And it no longer locks entire pages when it updates or deletes data.
I hope this helps
Jinsoo
MCDBA, MCSD, MCSE+I
Received on Tue May 21 2002 - 13:14:54 CDT