パフォーマンス向上のための「隠し」機能についての継続的なシリーズを歓迎します。コマンドと、それがアプリケーションの動作に与える影響について見てきました。問題を回避するために紹介しました。3回目の今回は、「ネストされたトランザクション」について説明します。v11以降で構造を作成したため)、またはすでに有効になっている場合は、これ以上読む必要はないでしょう。エミュレートするモードで動作しています。あなたは、多くの素晴らしい機能を逃しているだけでなく、このモードはもはや4Dによってテストされていないため、危険な状態になっているのです。25年前に4Dが初めてトランザクションを導入したとき、それは単一のトランザクションレベルしかサポートしていませんでした:操作はトランザクションの中にあるかないかのどちらかでした。4Dは10年以上前からマルチレベルの(ネストされた)トランザクションをサポートしています。トランザクションを使ったことがなければ、トランザクションに関するこのブログ記事を読むことをお勧めします。ネストされたトランザクションの互換性フラグでは、なぜこのようなオプションがあるのでしょうか?常にネストされたトランザクションを使用する方が良いのではないでしょうか?はい、その方がずっといいです。既存のコードはシングルレベルトランザクションのみで書かれている可能性があり、そのためにオプションがあるのです。open...なぜですか?何が起こるのでしょうか?よくぞ聞いてくれました!エンドユーザーがシングルレベルのトランザクションしかないアプリケーションを終了させたとしよう。そのアプリケーションには、まだ未確認の、検証されていないトランザクションが開いているかもしれない。それらは自動的にキャンセルされ、すべての作業が失われる可能性があります!ネストされたトランザクションの互換性フラグを有効にする前に、コードを慎重にレビューし、トランザクションへのすべての呼び出しがバランスされていることを確認する必要があります。オープンだけでなくクローズも確認してください。IF条件の内部で呼び出されたメソッドはトランザクションを開始する可能性がありますが、コードが十分に構造化され整理されていない場合、見つけるのが困難な場合があります。これを確認する方法は2つある。1つは、完全なコード監査を行うことで、これは非常に時間がかかる。1つの方法があります。あなたのアプリケーションが1つのプロセスしか使っていないなら、それはとても簡単なことかもしれません。イベントで、まだ開いているトランザクションがあるかどうか確認してください。それを報告し(自分自身にメールを送る、管理者に電話するなど)、トランザクションを検証してください(それが偶然に開かれたトランザクションであると仮定して)。プロセス数が増えるので、それらを識別する必要があります。どのプロセスでも、開始時や終了時に呼び出す汎用的なメソッドがあれば心配はない。ない場合は、これらのプロセスを見つけ、それぞれを変更する必要があります。level.この時点では、他のことは何もしないでください。ネストされたトランザクションを使い始める前に、コードをチェックしてください。トランザクションの一時停止ネストされたトランザクションを有効にするとすぐに、別の利点に気がつくでしょう。トランザクションが開いている限り、変更されたレコードはすべてロックされ、他のユーザーやプロセスが変更できないようにします。これは、請求書自体には良いことかもしれませんが、請求書番号カウンタにはあまり良いことではありません。これまで開発者は、この問題を回避するために、別のプロセスを開始し、通信を処理するためのプロセスを作成することを試みてきました。これは、トランザクションの外で何かを実行するためだけに、多くのコードを必要とします。幸いなことに、もっと良い方法があります。することができるのです。これにより、カウンターをインクリメントし、トランザクションを再開することができます。これはとても素晴らしい機能で、ドキュメントにそれについての記事があるほどです。ことを認識する必要があります。それだけでなく、内部的に4Dはクエリを実行するための一時的なインデックスを構築しています。その結果、テーブルが大きくなればなるほど(より多くのフィールドにインデックスが作成され、より多くのレコードが変更されるため)、より多くのメモリが必要となります。メモリ不足の場合、.4DDファイルの横にテンポラリファイルが作成されます(テンポラリバッファを保存するため)。これらのファイルは、メモリ不足を解消する一方で、アプリケーションのパフォーマンスを低下させる可能性があります。トランザクションは素晴らしいものですが、1つのトランザクションの中で何百万ものレコードを操作するのは最善の策ではありません。トマス・モールは、1988年に4Dのドイツ法人が設立された際にテクニカル・ディレクターとして入社し、ドイツとオーストリアの両方で4D開発者のコミュニティの構築に貢献しました。長年にわたり技術的な問題で顧客をサポートする中で、販売や経営に関わることが多くなった後、1999年に4Dドイツのマネージング・ディレクターに昇格しました。マーケティングチームとともに4D製品ラインの全体的な戦略の発案と遂行に責任を負っています。Posts4Dサミット2023。究極の対面体験が帰ってきた。お客様のプライバシーは当社にとって非常に重要です。方針お問い合わせご質問、ご提案、または4Dブロガーと連絡を取りたいですか?私たちに連絡を取ってください。お客様のプライバシーは当社にとって非常に重要です。ここをクリックすると、当社の。