表:文章在Postgres中,如何匹配多个“标签”以获得最佳性能?
+--------+------+------------+
| id | title| created |
+--------+------+------------+
| 201 | AAA | 1482561011 |
| 202 | BBB | 1482561099 |
| 203 | CCC | 1482562188 |
+--------+------+------------+
表:引用的Tagging
+-----------+------+
| articleid | tagid|
+-----------+------+
| 201 | 11 |
| 201 | 12 |
| 202 | 11 |
| 202 | 13 |
| 202 | 14 |
+-----------+------+
现在,如果给定的3标签ID,什么是最好的索引设计和查询,选择最新的10篇文章是每篇文章匹配3个标签ID在同一时间?
我知道可以有几种方法可以做到这一点,但我关于性能,考虑可能有成千上万的文章中的每个标签
'查询选择最新的10篇文章' - 请解释你如何定义'最新文章'?在某个表格中是否有日期栏,这个问题没有显示?或'最新'是否意味着'id'列中的最高值? – krokodilko
@krokodilko我在表格中添加了“创建”列。并且是最新的是id列中的最高值。该id是“int serial”。 –
这可能对您有意思:http://www.databasesoup.com/2015/01/tag-all-things.html –