誰かが私の SQL クエリを最適化するのを手伝ってくれませんか? データベースはpostgresです。私のテーブル構造は次のようになります。
create table test_table(test_id integer NOT NULL, sequence_id integer NOT NULL,value1 integer NOT NULL, value2 integer NOT NULL, CONSTRAINT test_table_pk PRIMARY KEY (test_id , sequence_id ))
create table test_event(event_id integer NOT NULL,test_id integer NOT NULL, sequence_id integer NOT NULL , CONSTRAINT test_event_pk PRIMARY KEY(event_id , test_id, sequence_id))
test_table
1,1, 200,300
2,2, 400,500
2,3, 600,700
2,4, 300,500
2,5, 200,900
test_event
1, 1,1
1, 2,2
1, 2,3
2, 2,4
2, 2,5
そして、sequence_id と test_id が test_event の event_id =1 に対応する test_table からすべての value1 と value2 を取得したいと考えています。私のクエリは次のようになります
SELECT
value1, value2
FROM
test_table
WHERE
sequence_id IN (
SELECT sequence_id
FROM test_event
WHERE event_id=1) AND
test_id IN (
SELECT test_id
FROM test_event
WHERE event_id=1)
これがこのクエリを記述する最適な方法であるかどうか、誰かに教えてもらえますか?