我对数据库的查询有一个很大的问题。SQL QUERY - UNION - 多个相同的表需要很长时间
我解释了我的问题,我有11个相同的表(备份)。表格完全一样,我需要从中提取数据,但这需要很长时间。
我使用的是联合查询是这样的:
select id, name, ... from table_1 WHERE (...)
UNION
select id, name, ... from table_3 WHERE (...)
UNION
select id, name, ... from table_2 WHERE (...)
... ORDER BY created DESC LIMIT 0,50
但只有查询需要大约16秒!数据库没有那么多的数据,它花了这么长的时间...
table_1 = 1.3k
table_2 = 17k
table_3 = 10k
table_4 = 10k
... = 10k
table_11= 140K
你能帮我优化这个查询吗?非常感谢!
问题可能是在完整结果结束时的顺序。你有多少数据回来? –
如果您正在使用,请避免使用任何内部查询。使用加入而不是。 – dhS