【发布时间】:2022-01-06 10:27:18
【问题描述】:
假设我们正在经营一家在线商店,并且我们的数据库中有一个Product 表。这代表存在的产品:
| productId | brandId (FK) | name | description | capacity | pricePerNight |
|---|---|---|---|---|---|
| 1 | 2 | Tent | This is a tent | 4 | 20 |
现在假设我正在制作一个公共 API,它允许外部公司客户根据一些参数查询我商店中的可用产品。这个公共 API 每周会收到数千次调用。
我想跟踪一个产品(例如帐篷)被这个公共 API 返回的次数,我想看看这个数字是如何随时间变化的。
我的解决方案:
实现一个表(例如View)并在每次返回产品时插入一个新行(异步):
| productId (FK) | date |
|---|---|
| 1 | 24/03/2021 |
| 1 | 26/03/2021 |
我在这里看到的问题是该表会很快变得非常大(每周可能有 100,000 条新行)。我不确定这会如何影响整体数据库性能 (MYSql),但它似乎不可扩展。
你能告诉我一个更好的解决方案吗?谢谢!
【问题讨论】:
标签: spring-boot api rest microservices