5
如何在大表上使用LEFT JOIN优化非常慢的SELECT
我正在谷歌搜索,自我教育和寻找解决方案数小时,但没有运气。我在这里找到了一些类似的问题,但不是这种情况。 我的桌子: 人(约1000万行) 属性(位置,年龄,...) 人与属性之间的链接(M:M)(约4000万行) 完整转储〜280MB 情况: 我尝试person_id从某些位置(location.attribute_value BETWEEN 3000 AND 7000),性别(gender.attribute_value = 1),出生年份(bornyear.attribute_value BETWEEN 1980 AND 2000)和眼睛颜色(eyecolor.attribute_value IN (2,3))选择所有人的身份()。 这是我的询问女巫用了3〜4 分钟。我想优化: SELECT person_id FROM person LEFT JOIN attribute location ON location.attribute_type_id = 1 AND location.person_id = person.person_id LEFT JOIN attribute gender ON gender.attribute_type_id = 2 AND gender.person_id = person.person_id …