テーブル内のデータが次の場合:
select * from data;
key | value
------+---------
a | a_value
b | b_value
c | c_value
d | d_value
e | e_value
f | f_value
1 つのクライアントが Web サーバーに接続して a の値を要求すると、アプリケーションは次のことを試みます。
select value where key = 'c';
結果値をクライアントに送信します
3 つのクライアントが Web サーバーに接続する場合、3 つのステートメントが発生します。
select value where key = 'e'; # client 1
select value where key = 'c'; # client 2
select value where key = 'a'; # client 3
リソース上の理由から、多くのステートメントを 1 つの select ステートメントに統合したいと考えています。
select * where key = 'e' or key = 'c' or key = 'a';
key | value
------+---------
a | a_value
c | c_value
e | e_value
しかし問題は、結果のシーケンスが私の WHERE 句と同じではないことです。そのため、結果とクライアントのクエリを区別できません。クライアントに価値を送り返したい場合
'e_value' to client 1
'c_value' to client 2
'a_value' to client 3
ありがとう!!