クエリは通常並行して実行されます。処理できる接続の数は、サーバー、リスナー構成、およびプロセスとセッションの初期化パラメーターによって異なります。接続を開くとエラーが発生することがあります。
接続プールを使用している場合、それらのプールされた接続のそれぞれは、データベースインスタンスのセッションの1つとそのプロセスの1つを使用しています。(誰かが専用リスナーと共有リスナーの違いについて私に訂正するかもしれませんが、大体そうです)。プールされた接続を介した各リクエスト(クエリ)はすでに設定されている接続を使用するため、新しいTCP/IPソケットは不要で、ソケット/セッション作成に伴うオーバーヘッドはありません。最初にプールを使用します。
プール接続またはスタンドアロン接続のどちらを使用していても、問合せを実行するプロセスは他の問合せとは独立しており、他の問合せが完了するまで待機しません。更新を行っている場合、それは必ずしも真実ではありません - 別のプロセスが独自の更新を完了するのを待つかもしれませんが、単にクエリを実行しているのであればそれは要因ではありません。
リソースに対する競合が発生する可能性があるため、同時に実行される2つのクエリは、いずれかが単独で実行されるよりも少し時間がかかることがありますが、それでもまだ両方が同時に実行されています。
データベース内の操作はキューに入れられます。多数の要求を受信できますが、最終的には順番に処理されます(異なる分離レベルを使用して変更できます)。それは非常に速く起こりますが、同時であるように見えますが、コマンドを順番に実行していることをログで確認することができます。デフォルトの分離レベルを使用すると、SELECTはDML(INSERT、UPDATE、DELETE)文の前にデータへの優先アクセスを持つことができます。 –
しかし、クエリは同時に実行されます。両方のリクエストが同時に受信された場合、それらはわずかに異なる時刻に開始されますが、次のリクエストが開始されるまでに完了するのを待つことはありません。今私はOPが何を求めているのかよくわからない。 –