나는 두 개의 테이블이 있습니다이 PostgreSQL 쿼리가 인덱스를 사용해야합니까?
CREATE TABLE soils (
sample_id TEXT PRIMARY KEY,
project_id TEXT,
technician_id TEXT
);
CREATE INDEX soils_idx
ON soils
USING btree
(sample_id COLLATE pg_catalog."default");
CREATE TABLE assays (
sample_id TEXT PRIMARY KEY,
mo_ppm NUMERIC
);
CREATE INDEX assays_idx
ON assays
USING btree
(sample_id COLLATE pg_catalog."default");
각 테이블 유형의 TEXT의 약 20 추가 열 각각합니다 (DDL 생략 여기에 시간을 절약하기 위해 위의 게시), 현실에서, 50 만 개 레코드에 대한 포함합니다. 내가 쿼리 수행 할 때
는 :
EXPLAIN SELECT
s.sample_id, s.project_id, s.technician_id, a.mo_ppm
FROM
soils AS s INNER JOIN assays AS a ON s.sample_id = a.sample_id
을 나는 2 SEQ 스캔보다는 인덱스에 대한 조회를 얻을. 그것은 예상 된 행동인가?