SELECT
Distinct
a.id,
a.lasttime,
a.lastuser,
b.datafield AS sa,
c.datafield AS sc,
d.datafield AS sc,
e.datafield AS si,
f.datafield AS sp,
g.datafield AS su,
h.datafield AS ss,
i.datafield AS st
FROM a
LEFT JOIN b ON a.id = b.id
LEFT JOIN c ON a.id = c.id
LEFT JOIN d ON a.id = d.id
LEFT JOIN e ON a.id = e.id
LEFT JOIN f ON a.id = f.id
LEFT JOIN g ON a.id = g.id
LEFT JOIN h ON a.id = h.id
LEFT JOIN i ON a.id = i.id
where i.datafield like '%人民%'
GROUP BY a.id用了以上n个左连接,大概每个表有10万左右的数据,速度非常慢,诸位能否给出解决方法
Distinct
a.id,
a.lasttime,
a.lastuser,
b.datafield AS sa,
c.datafield AS sc,
d.datafield AS sc,
e.datafield AS si,
f.datafield AS sp,
g.datafield AS su,
h.datafield AS ss,
i.datafield AS st
FROM a
LEFT JOIN b ON a.id = b.id
LEFT JOIN c ON a.id = c.id
LEFT JOIN d ON a.id = d.id
LEFT JOIN e ON a.id = e.id
LEFT JOIN f ON a.id = f.id
LEFT JOIN g ON a.id = g.id
LEFT JOIN h ON a.id = h.id
LEFT JOIN i ON a.id = i.id
where i.datafield like '%人民%'
GROUP BY a.id用了以上n个左连接,大概每个表有10万左右的数据,速度非常慢,诸位能否给出解决方法
[/align]
SELECT
Distinct
a.id,
a.lasttime,
a.lastuser,
b.datafield AS sa,
c.datafield AS sc,
d.datafield AS sc,
e.datafield AS si,
f.datafield AS sp,
g.datafield AS su,
h.datafield AS ss,
i.datafield AS st
FROM a
LEFT JOIN (b,c,d,e,f,g,h,i)
ON (a.id = b.id and a.id = c.id and a.id = d.id and a.id = e.id and a.id = f.id and a.id = g.id and a.id = h.id and a.id = i.id and i.datafield like '%人民%')
GROUP BY a.id
如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。 结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。
或参考:
http://www.csdn.net/help/over.asp
http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
=============================================================================
问题解决,请及时结贴。
正确结贴方法:
管理帖子-->给分-->输入密码-->结贴[align=center]==== 思想重于技巧 ====
[/align]