同期と非同期クエリーの実行
クエリーは、データベースに対して同期または非同期的に実行することができます。
クエリーは、データベースに対して同期または非同期的に実行することができます。使用する正しいパラダイム実行は、アプリケーションによって異なります。
同期実行
同期クエリー実行はブロッキングされており、これはクエリーから結果が返されるまでは、アプリケーション内では何一つ進行することはないことを意味します。アプリケーションは、クエリーが最初にデータベースに送られた時点から、結果を取り戻しアプリケーションに返すまで、往復全体をブロックします。
同期クエリーの利点は、クエリーが完了した時点で伝達するのが簡単であるため、アプリケーションの実行ロジックをたどるのが簡単です。ただし、同期クエリーは、アプリケーション・スループットの低下を招きます。
C/C++ | C# | Java | Node.js | PHP | Python | Ruby |
非同期実行
非同期クエリー実行は、さらに複雑です。非同期クエリー実行コールは、結果をブロックしません。その代わり、非同期実行コールから、フューチュアが即座に返されます。フューチュアはプレースホルダー・オブジェクトで、データベースから結果が返されるまで、結果の代役を務めます。ドライバーと言語の機能セットによっては、このフューチュアにより、結果の非同期処理を容易にすることが可能です。これにより通常、高スループットが可能になります。
C/C++ | C# | Java | Node.js | PHP | Python | Ruby |