????????????Transaction????
??????????????????????????е????в??????????????У??? ????????С? ??????????????????????????????в?????????????????????????????????????????????????????????????????????????????????????????????ó?????????????????????????????????????????ν??ACID???????????????????????????????????????????????е?????????????λ????DBMS?е?????????????????????????
????????????????????????????????A?1000?????B????????????????????????A??????1000??????????????B???????1000??????????????????????
???????????????????A??????1000???B???????1000????????? ??????????????A?????B????????????????
???????????£???????????A??????1000???B??????????????????????????????????????棬?????????????????????????????????????????????????????????????????????????棬???????????????????м????????????????????????????????????м??????????????????????????漲????????м?????????????????????????????????
?????????4??????
?????????(Atomic)???????????????????????????????????????????У??????????С??????????????????????????й?????????????????????????????????Щ??????????????????????????????????????????????????????????????????
?????????(Consistency)???????????????????????????????????????????????????????????????????????????????????????????????????е????????????????????????μ??
??????????(Isolation)??????????????????????????κ??????????????????????????????????????????????????????????????????????????????м????????????????????????????????????????????????
?????????(Durability)?????????????????????????????????????д???????????м??????崻????????????????????????????????
??????????????
???????????????????????????????????????в?????????????????????????????????Щ?????Σ???Щ???????????????Щ????????????????????????????μ????????????????????????????order????и???ν?count?????????????????100
?????????????£?Update Lost????????????????????????????????л????????????????????????count???????????????100??????????3????????count=100+1=101????????????????????????????????????????count????????????????100?????????????????????????
?????????Dirty Read??????????????????????????????????????????δ????????????????????????????count=101????????????????????????count????101??????100????????????????????????????????????????????????ε?????
???????????????Not Repeatable Read????????????????????????????????????λ????β???????????????????????????????????????????????????Σ?????????????????????????????????ζ???????????????п???????п?????????????????????????β??????б????????????????????2????????????????????????count????100????????????????count=101?????????ζ??count???????101?????ζ????????????
?????????????£?Second Update Lost?????????????????????±??????????????????????и?????????????????????????????count???????100??????????????????3????????count=100+1=101???????????3????????count=100+1=101???????????count?????100????????????????????????????
?????????Phantom Read??????????????????е??????????????????????????????????????????????????????β???????????????????????????????????t????????????????????ɡ?????????????????order???ж????????????????????????????????????????????order???ж???????????????β??????????????
??????????????????
???????????????????????????????????????????????????????漸??????????????????????????忴???????????????????????????????????????????????????У??????????????????????????????????????????????????????????????????????????????????????????????????????????????????ī??????????????????????????????????????????
??????δ????Read Uncommitted???????????????????????????????????????????????????????????????????????????????????????а??????????????????á?
????????????Read Committed???????????????????????????????????????????£???????δ??????£????????????????????£?????????????????????????Oracle??Sqlserver??
?????????????Repeatable Read????????????????????н??????λ???????????????????????????????????????????????????????????????????????????????????????д?????????????????????????????????Mysql??????????????
???????л???Serializable???????????????????е???????????????????.??????л????????????????д??????????????????????????????????????????????????????Ч????????????á?
????????????????????????????????? ?????? ?????????? ??? ????????? ?????????? ??? ??δ?? Y Y Y Y Y ?????? N N Y Y Y ??????? N N N N Y ???л? N N N N N ???????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????hibernate????????????????????????????????????á?
??????????????????壬??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????е??????????????????д?????????????
?????????????????????????
????????????Share locks????S??????????????????A?????T??s?????????????????T??S??????????????????????????д?????????A???S????
????????????Exclusivelocks????X?????????д????????A?????T??X????????????????T???κ????????????A?????д????T???A???X????
????????????????U???????????????????????X??????????????????????????????????U????X?????????????????????????????????X????????????????????????????ù?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Щ????????????????????????????Щ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????÷?Χ????? ?????????????÷?Χ???м????????????????Щ??????????????????????????????????????Щ?е?????????????????????????????user????????id?????????birthday???????update … where id=??????????????????????????????У?????????????????????update … where birthday=?????????????????????????????????Щ?п???????????? ?????????????÷?Χ????????
?????????????????壬???????????????????????????????????????????????????????????????μ???????ж???????????????б???????????????????????????????????????????????????????????????????????????????д?????????????????????????????????2????????????????ж????????????????????????????????????Щ?????????????????????????????2???????????????仰?????????д??????????????????????????????????????????????????????????????????????????????????????????