sql >> データベース >  >> RDS >> Mysql

MySQLでトランザクションの一時停止はどのように機能しますか?

    特別なことを意味するものではありません。一時停止されたトランザクションは、一時的に使用されないトランザクションです。 挿入、更新、コミット、またはロールバックの場合。指定された伝播プロパティのために新しいトランザクションを作成する必要があり、同時にアクティブにできるトランザクションは1つだけです。

    基本的に、2つのトランザクションモデルがあります。ネストされたものとフラットなものです。 モデル。ネストされたモデルでは、トランザクションを開始し、別のトランザクションが必要な場合、最初のトランザクションはアクティブなままです。つまり、2番目のトランザクションはその親の内部にネストされます。一方、フラットモデルでは、最初のトランザクションが一時停止されます。つまり、新しいトランザクションが完了するまで使用されません。

    AFAIKフラットモデルは、実装がはるかに簡単であるため、ほぼ排他的に使用されます(SpringおよびEJB仕様も含む)。 :常にアクティブなトランザクションは1つしかないため、例外が発生した場合など、ロールバックが発生した場合の対処方法を簡単に決定できます。さらに重要なことに、ネストされたモデルが必要な場合は、基盤となるデータベースがそれをサポートする必要があるため、フラットモデルは単なる最小公分母です。 この場合。




    1. MySQLまたはPostgreSQLにTEXTフィールドがある場合、それを別のテーブルに配置する必要がありますか?

    2. 言語翻訳文法

    3. PHPAJAXとXMLを使用したライブ検索

    4. 大量のデータ(ロギング)用のどのmysqlエンジンですか?