0
我想订购4个表之间的连接结果 - 将创建一个按列排序(b.SITE_ID)索引提高查询性能?没有索引提高性能时排序连接的结果
SELECT b.SERVICE_ID, b.ATT_ID, b.SITE_ID, b.ATT_VALUE, c.KEY_NAME, d.NAME as account_name
FROM SITE_ATTRIBUTES a , SF_SITE_ATTRIBUTES b, ATTRIBUTE_DEF c,SF_SITE_MASTER d
WHERE a.SERVICE_ID=b.SERVICE_ID
and b.SERVICE_ID=c.SERVICE_ID
and b.SERVICE_ID=d.SERVICE_ID
and [email protected]_id COLLATE utf8_unicode_ci
and b.ATT_ID= c.ID
and b.ATT_ID= a.ATT_DEF
and a.SITE=b.SITE_id
and b.SITE_ID = d.ID
and a.value != b.att_value
and b.att_value is not null
ORDER BY b.SITE_ID
以为它会不会因为订单发生在中间加入的结果集...
我认为它的确如此。但你应该尝试检查解释分析。性能问题应该包括'EXPLAIN ANALYZE'和一些关于表格大小,索引,当前时间表现,期望时间等的信息。'Slow'是一个相对术语,我们需要一个真实值来比较。 \t \t [** MySQL **](http://dba.stackexchange.com/questions/15371/how-do-i-get-the-execution-plan-for-a-view) –
请阅读本文DBA堆栈交换问题:http://dba.stackexchange.com/questions/11031/order-by-column-should-have-index-or-not ...答案可能是,可能是 –
你真的应该阅读这个。推广使用'JOIN' sintaxis,Aaron Bertrand写了一篇不错的文章[踢坏坏习惯:使用旧式JOINs](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad关于它的-habits-to-kick-using-old-style-joins.aspx)。 –