我有三个表,每个表包含一些常用信息,以及表中唯一的一些信息.例如:uid,date是各表之间的通用性,但一个表可以包含柱type,而另一个包含currency.我需要查询数据库并获取date DESC已在所有三个表中输入的最后20个条目().我的选择是:
查询数据库一次,使用一个包含三个UNION ALL子句的大型查询,并传递列的假值,IE:
FROM (
SELECT uid, date, currency, 0, 0, 0
Run Code Online (Sandbox Code Playgroud)
后来
FROM (
SELECT uid, date, 0, type, 0, 0
Run Code Online (Sandbox Code Playgroud)
这将留下我分配的空值字段..
或者我可以三次查询数据库,并以某种方式在PHP中sort通过信息获取最新的20个帖子.这将给我留下过多的信息 - 60个帖子来浏览(LIMIT 20)*3 - 并强迫我每次都要预先形成某种类型的addtional quicksort.
什么选择更好/任何替代想法?
谢谢.