我有三个表,每个表都包含一些通用信息,以及表独有的一些信息。例如:uid
,date
在表中是通用的,但是一个表可以包含一列type
而另一个包含currency
。我需要查询数据库并获取date DESC
已在所有三个表中输入的最后 20 个条目 ()。我的选择是:
查询数据库一次,用一个大查询,包含三个
UNION ALL
子句,并传递列的假值,IE:FROM ( SELECT uid, date, currency, 0, 0, 0
后来
FROM ( SELECT uid, date, 0, type, 0, 0
这会给我留下分配空值字段..
或者我可以查询数据库 3 次,并以某种方式在 PHP 中
sort
通过信息获取最新的 20 个帖子。这会给我留下过多的信息 - 60 个帖子要浏览 (LIMIT 20
) * 3 - 并迫使我每次都执行某种类型的附加快速排序。
什么选择更好/任何替代想法?
谢谢。