我有这个问题:
SELECT ...
FROM property as p FORCE INDEX (property_order)
INNER JOIN property_attribute as pa ON pa.property_attribute_property_id = p.property_id
WHERE ...
ORDER BY p.property_featured DESC, p.property_ranking_date DESC
此查询运行良好,但如果我在ORDER BY中添加property_attribute
中的字段,则使用偶数文件排序会使性能变得非常糟糕。
更改:
ORDER BY
p.property_featured DESC,
pa.property_attribute_minimum_photo_1,
p.property_ranking_date DESC
事实上事情很奇怪。如果我从查询中删除FORCE INDEX,我会在解释的第一行收到:
1 SIMPLE agent ref PRIMARY,agent_published,agent_id agent_published 1 const 1 Using temporary; Using filesort
好吧,s a problem in my 'agent' table? So, when I remove the all ORDER BY, the filesort disappears. There
在ORDER BY中的代理表中没有字段...
我的问题是:
我应该在property_attribute表中添加一个索引来演变' pa.property_attribute_minimum_photo_1'场?
如果是,在那里添加索引,我应该在INNER JOIN子句中使用索引吗?
如果不是,我应该在哪里添加索引?
有没有办法在不同的表中的一个索引列中合并?