【发布时间】:2021-03-20 19:45:11
【问题描述】:
我的 mysql 数据库中有两个表:
1) 视频
+----+--------+----------+------+----------+
| id | title | category | year | director |
+----+--------+----------+------+----------+
| 1 | Title1 | Cat1 | 2021 | A.K. |
| 2 | Title2 | Cat2 | 2020 | B.C. |
| 3 | Title3 | Cat3 | 2000 | E.A. |
+----+--------+----------+------+----------+
2) Videos_insights
+----------+------------+-------+-------+----------+--------+
| video_id | date | views | likes | dislikes | shares |
+----------+------------+-------+-------+----------+--------+
| 1 | 2021-03-20 | 13 | 2 | 3 | 1 |
| 1 | 2021-03-19 | 35 | 1 | 3 | 3 |
| 1 | 2021-03-18 | 68 | 5 | 6 | 5 |
| 1 | 2021-03-15 | 86 | 3 | 0 | 1 |
| 2 | 2021-02-13 | 234 | 15 | 1 | 34 |
| 2 | 2021-02-12 | 55 | 15 | 2 | 4 |
| 2 | 2021-02-10 | 331 | 255 | 0 | 0 |
+----------+------------+-------+-------+----------+--------+
我想获取在2021-03-01 到2021-03-31 之间观看的视频。所以结果表应该是这样的:
+--------+-------------------------------------------+
| title | date_range |
+--------+-------------------------------------------+
| Title1 | ["2021-03-20 - 2021-03-18", "2021-03-15"] |
+--------+-------------------------------------------+
在我的 MySQL 数据库中,我有大约 100 000 个视频,每个视频有大约 100 个 video_insight。
- 获得结果表的最佳方法是什么?
- 如何优化?我的意思是我不想让每个 GET 请求都离开加入?这将花费太长时间,我的服务器会烧毁。
【问题讨论】:
-
。 .如果你想优化某些东西,你应该显示你正在使用的查询。否则,我只是假设问题是如何获得您指定的结果。
标签: mysql sql gaps-and-islands