在 PostgreSQL 中存储每日通知时间
Posted
技术标签:
【中文标题】在 PostgreSQL 中存储每日通知时间【英文标题】:Store daily notification time in the PostgreSQL 【发布时间】:2022-01-08 20:02:22 【问题描述】:我想让用户能够选择接收通知的时间。
应该能够选择一个或多个小时值 (0-24),然后每天在选定的时间收到通知。
最好的建模方法是什么?
正在考虑这个解决方案:在包含小时数的用户表中添加一个 ARRAY 列,例如。 [1, 6, 23] 但不知道每小时扫描表格以找到要发送通知的用户的速度有多快。
【问题讨论】:
您可以在存储时间数组的列上添加 GiST 或 GIN 索引,或者您可以选择单个时间列并为同一用户插入与通知时间一样多的行。跨度> 只是一个小小的修正。小时值将是 0-23。 23:59:59 后 1 秒是 00:00:00,对于用户的多个通知时间,只需为用户创建多行即可。 【参考方案1】:必须每小时读取所有用户的数组才能找到该小时的任何事件。好像有点多。
每个用户每小时都有一行,然后您只需选择实际需要发送的通知。删除/更新很容易从数据库中清除。
【讨论】:
以上是关于在 PostgreSQL 中存储每日通知时间的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 中,调用 PostgreSQL 函数,为啥我收到一个错误,通知该函数不存在?