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

非同期I/Oを多用するコードは、非非同期よりも実行速度が遅いのはなぜですか?

    同時実行性がない場合、非同期バージョンは常に同期バージョンよりも遅くなります。非同期バージョンと同じ作業をすべて実行しますが、非同期を管理するために少量のオーバーヘッドが追加されます。

    非同期性は、可用性を向上させることにより、パフォーマンスの点で有利です。個々のリクエストは遅くなりますが、同時に1000のリクエストを行うと、非同期実装はそれらすべてをより迅速に処理できるようになります(少なくとも特定の状況では)。

    これは、非同期ソリューションでは、要求を処理するために割り当てられたスレッドがプールに戻って他の要求を処理できるのに対し、同期ソリューションでは、非同期操作が完了するのを待つ間、スレッドを強制的にそこに置いて何もしないために発生します。スレッドを解放して他の作業を実行できるようにプログラムを構成することにはオーバーヘッドがありますが、そのスレッドが他の作業を実行できるという利点があります。あなたのプログラムでは、スレッドが実行する他の作業がないため、最終的には純損失になります。



    1. データベース環境を保護するためのSQLServerロックダウンについて

    2. GATHER_PLAN_STATISTICSは、基本的な計画統計を生成しません

    3. OracleでQuarterFromDateを取得するにはどうすればよいですか?

    4. BLOBOracle10gへの画像の挿入