CREATE TABLE data.question_result (
id bigserial PRIMARY KEY,
trial_id bigint NOT NULL REFERENCES data.trial(id),
question_id bigint REFERENCES content.question(id),
<two more columns>,
);
mydb=# explain analyze select * from data.question_result where trial_id=1 and question_id=2;
This is a well-known optimizer deficiency. You need to single-quote the numeric literals or cast them to the type of the column, or else you won't get index scans for non-int4 columns. In other words:
explain analyze select * from data.question_result where trial_id='1' and question_id='2'
This is fixed in 8.0
-Neil
---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
