ãã©ã³ã¶ã¯ã·ã§ã³åé¢ã¬ãã« ãšã¯ïŒ
- READ UNCOMMITTEDã»READ COMMITTEDã»REPEATABLE READã»SERIALIZABLEã®4段é
- åé¢ã¬ãã«ãé«ãã»ã©ããŒã¿ã®æŽåæ§ã¯é«ããªããã䞊ååŠçã®ããã©ãŒãã³ã¹ãèœã¡ã
- ããŒãã£ãªãŒãã»ãã³ãªããŒã¿ãã«ãªãŒãã»ãã¡ã³ãã ãªãŒãã®3çš®ã®åé¡ãšå¯Ÿå¿ãã
- MySQLã®ããã©ã«ãã¯REPEATABLE READãPostgreSQLã¯READ COMMITTED
ãã©ã³ã¶ã¯ã·ã§ã³åé¢ã¬ãã«ã£ãŠäœïŒé£ãããâŠ
è€æ°ã®äººãåæã«DBãæäœãããšããã©ããŸã§ä»ã®äººã®éäžçµæãèŠããŠããŸããããæ±ºããèšå®ã ããå³ããããã»ã©å®å šã ãã©ããã®ååæã«åŠçã§ããéãæžã£ãŠé ããªãã
4段éããã£ãŠèãããã©ãã©ãéãã®ïŒ
äžçªç·©ãREAD UNCOMMITTEDã¯ããŸã ã³ããããããŠãªãããŒã¿ãèªããããæ¬¡ã®READ COMMITTEDã¯ãã³ãããæžã¿ã®ã¿èªããããREPEATABLE READã¯ãåããã©ã³ã¶ã¯ã·ã§ã³å ã§åãè¡ã2åèªãã ãåãå€ãè¿ãããäžçªå³ããSERIALIZABLEã¯ãåæå®è¡ãããŠã1ä»¶ãã€é çªã«å®è¡ããçµæãšåãã«ãªããã
ããŒãã£ãªãŒããšãã3çš®é¡ã®åé¡ã£ãŠäœïŒ
ããŒãã£ãªãŒãã¯ãŸã ã³ããããããŠããªãïŒéäžã®ïŒããŒã¿ãèªãã§ããŸãåé¡ããã³ãªããŒã¿ãã«ãªãŒãã¯åãè¡ã2åèªãã ã2åç®ã«å€ãå€ãã£ãŠãåé¡ããã¡ã³ãã ãªãŒãã¯åãæ¡ä»¶ã§2åæ€çŽ¢ããã2åç®ã«ä»¶æ°ãéãåé¡ãåé¢ã¬ãã«ãäžããã»ã©ããããã®åé¡ãèµ·ããªããªãã
ãããããïŒSERIALIZABLEã«ããã°å šéšè§£æ±ºããã®ã«ãªãã¿ããªREAD COMMITTEDã䜿ãã®ïŒ
SERIALIZABLEã¯ããã¯ãéåžžã«åºç¯å²ã«ãªã£ãŠã䞊åã§ã¯ãšãªãå®è¡ã§ããªããªãããå®çšäžäœ¿ãã«ãããã ããäŸãã°ECãµã€ãã§å šãŠãŒã¶ãŒãåæã«SERIALIZABLEã§æ³šæããããšãããšãäºå®äžçŽååŠçã«ãªã£ãŠããŸããPostgreSQLã¯SERIALIZABLEããSSIïŒSerializable Snapshot IsolationïŒããšããè¡çªæ€åºããŒã¹ã®å®è£ ã«ããŠæ§èœãæ¹åããŠããã©ãããã§ã䜿ãã©ãããéžã¶ãã ããå€ãã®ã·ã¹ãã ã¯ãREAD COMMITTEDã§ã¢ããªåŽã§ããžãã¯ã工倫ããããšããçŸå®çãªåŠ¥åãããŠããã ãã