【发布时间】:2023-04-02 08:01:01
【问题描述】:
表格:文章
+--------+------+------------+
| id | title| created |
+--------+------+------------+
| 201 | AAA | 1482561011 |
| 202 | BBB | 1482561099 |
| 203 | CCC | 1482562188 |
+--------+------+------------+
表格:标签
+-----------+------+
| articleid | tagid|
+-----------+------+
| 201 | 11 |
| 201 | 12 |
| 202 | 11 |
| 202 | 13 |
| 202 | 14 |
+-----------+------+
现在如果给定3个标签id,选择每篇文章同时匹配3个标签id的最新10篇文章的最佳索引设计和查询是什么?
我知道有几种方法可以做到这一点,但我关心的是性能,考虑到每个标签中可能有数万篇文章
【问题讨论】:
-
query to select latest 10 articles- 请解释你如何定义latest article?某些表中是否有日期列,但问题中未显示?还是the latest表示id列中的最高值? -
@krokodilko 我在表格中添加了“已创建”列。是的,最新的是 id 列中的最高值。 id 是“int serial”。
-
这可能对你来说很有趣:databasesoup.com/2015/01/tag-all-things.html
标签: sql postgresql relational-division