表:文章在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 –