
比如需要从表 1-10 查出数据,列数一样的情况下,遍历 10 次 SQL,和拼接成一个 SQL 查询 1 次,会有优化么?
for (i=1;i<=10;i++) { qeury("SELECT * FROM tb${i}"); } qeury(" SELECT '1', * FROM tb1 UNION ALL SELECT '2', * FROM tb2 UNION ALL SELECT '3', * FROM tb3 .... "); 1 514146235 2020-07-10 18:12:03 +08:00 一般来说,生产环境是禁止使用 UNION 的。 |
2 zhangysh1995 2020-07-13 14:23:48 +08:00 UNION ALL/UNION 有不少 bug,不同列数据类型合并会出现各种错误,比如 unsigned/signed 混合,char/varchar 混合,这些是有实际例子的,可以去 MySQL Bug 库搜一搜。 |