データベース「総務」「ロック」についていくつかの質問

免責事項:この記事は従って、ブロガーオリジナル記事です。CC BY-SA 4.0再現著作権の契約を、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/Isabella327/article/details/96865317

1.トランザクションで使用されますか?

:トランザクションは、これらのアクションはいずれかの実行か実行され、分割されていない特徴とする一連の動作です。たとえば、銀行振替:口座番号及びこれら二つの操作「バウンド」デビット口座から他の助成金、。完全なビジネスは(削除、挿入、更新)バッチDMLを必要と一緒に共同声明を完了しました。

事務の2.基本要素?

回答:ACID

  • アトミック(原子):提出されたトランザクションを操作のいずれか、すべてが成功するか、すべてのロールバックに失敗。
  • 一貫性(整合性):1つの一貫性のある状態から別の一貫した状態。
  • 分離(隔離):トランザクションが他のトランザクションにそれを送信する前に変更を加えて表示されていません。
  • 持続性(耐久性):トランザクションがコミットされると、データベースに加えられた変更を恒久的に密封されます。

3.トランザクション分離レベル?

回答:

  1. 読むことを許可されていない(非コミット読み取り):他の業務を許可していないデータを、トランザクションの書き込みデータを書き込みますが、他のトランザクションが読み取ることができます。他のコミットされていないトランザクションからデータを読み込むための取引です。(失われたアップデート、ダーティリードの問題の問題を解決するには)
  2. 読むために認定(コミット読み取り):トランザクションがデータを読み、他の業務を許可するようにデータを書き込むことが、銀行が提出したときに他のトランザクションへのアクセスをブロックしませんでした。他のトランザクションがコミットした後にデータを読み込むための取引です。Oracleのデフォルトの分離レベル。(ダーティリード、非反復可能読み取りの問題が発生し、問題を解決)
  3. 反復可能読み取り:トランザクション他のトランザクションが読めなく書き込むことができないとき、書き込みを読むことができない他のトランザクションを読んトランザクションは、書き込み。同じデータのトランザクションが同じで読み取ることであり、私がデータを変更する他のトランザクションを気にしないでください。MySQLのデフォルトの分離レベル。(ファントムは、問題が発生読んで)
  4. 一連の 1(低パフォーマンス)でトランザクションを実行します:

4.データベースの並行性の問題が発生?

回答:

  1. 更新損失:2つのビジネス・ツー・ラインのデータの更新は、他のことでカバーされたトランザクションを更新します。
  2. ダーティ読み取り:トランザクションは別のコミットされていないトランザクションにデータを読み込みます。
  3. 非反復可能読み取り:同じ行に二回読み出されたデータは、(原因、データ更新に)異なっている取引の結果。
  4. マジック読書:トランザクションデータは最初のケースは、(データの挿入または欠失によって引き起こされる他の事項に起因する)時間の第二読会には表示されません表示されます。

5.同時実行制御技術?

回答:

  1. 共有ロック(Sロックは、ロックを読む):読まなく、書かれた、それはまた、他の読み取りロックを追加することができます。
  2. 排他ロック(Xロック、排他ロックをロックの書き込み):読み書き可能な、他のトランザクションはロックすることはできません。
  3. ペシミスティック・ロック:データを取るために考え、誰かが、それぞれがすべてロックがかかり、データが変更されますたびに。
  4. オプティミスティック・ロック:それぞれがそれぞれの時間をロックしません、他の人がデータを変更しないというデータを取り、他の人がいるならば、我々は更新は、ユーザーが処理できたときに更新表示されます。

おすすめ

転載: blog.csdn.net/Isabella327/article/details/96865317