Mysqlデータベースの独立性レベル


1、独立性レベルは以下の数種類に分けられる.
  • は読み取りをコミットしていません.トランザクションはコミットする必要はありません.
  • が読み取りをコミットします.
  • は繰り返し読むことができます. 
  • シーケンス化リード. 

  •  
    Mysqlのデフォルトは繰り返し読み取り可能です.
     
    Mysqlの現在の独立性レベルを表示するには、次の手順に従います.
    select @@tx_isolation;

     
    独立性レベルの変更:
    set global tx_isolation='read-uncommitted';  

     
     
    以下に、これらの独立性レベルの違いを説明します.
    そのうち1つ目と4つ目は何も言うことはありません.
    1、1つ目は何の鍵もないので、汚れた読み、繰り返してはいけない、幻読みが発生します.
    2、4つ目は、すべての操作に排他ロックをかけることで、読み書きにかかわらずシリアルなので、データ上は特に安全ですが、性能は超低です.
    3、2つ目はread committed.提出してこそ読むことができる.しかし、繰り返して読むことはできません.
    例:トランザクションAは、1つのトランザクションを実行するのに10ステップかかり、10秒かかり、最初のステップupdate番号が1のデータが完了すると、トランザクションBも1のデータを更新し、コミットします.その結果、トランザクションAで1番のデータを再照会したところ、結果が正しくないことがわかりました.だから繰り返してはいけない.
    4、3つ目はrepeatable read.繰り返し読むことができます.トランザクションAがトランザクションを開始すると、トランザクションBが同じデータを書き込むとブロックされるのが原理です.しかし、幻読が発生します.
    例:トランザクションAは、1つのトランザクションを実行するのに10ステップかかり、10秒かかり、最初のステップupdate番号が1のデータが完了しますが、トランザクションBも1のデータを更新しようとするとブロックされ、3の問題が回避されます.だから繰り返し読むことができます.
    しかし、幻読を避けることはできません.
    幻読例:トランザクションAはトランザクションを実行しており、クエリは10個であるが、トランザクションBに新しいデータが挿入され、A再クエリは11個であることが判明した.だから幻覚が現れて、幻読と呼ばれます
     
    5、mysqlは繰り返してはいけないことに気づいた
    6、SecureCRTで2つのウィンドウを開くことができ、MySQLでクライアント接続サーバーを持参することができる.
     
     
    1、美団教程:
    2、CSDN教程:
    3、iteyeチュートリアル
    4、imysqlチュートリアル