我有一张有 100M 多行的表,看起来像这样
Create table member (
id bigint,
gender text,
//..other fields
primary key (id)
);
现在,性别字段有两个可能的值“M”或“F”
每当我使用性别字段时,我都会花费很多时间在其他字段(例如 id、成员详细信息、手机号码)上建立索引
select
count(1) filter (where mod.is_active and m.gender = 'M') as male,
count(1) filter (where mod.is_active and m.gender = 'F') as female
from member_other_details mod
inner join member m on m.id = mod.member_id
此查询需要数小时才能完成
我该如何优化呢?