如何实时计算某一列的<倒计时>?

2022-12-12 17:40:06 +08:00
 locochen
最近实现了一个功能, 计算某一列的倒计时, 倒计时是和<创建时间>对比.

实现思路是, 从数据库读取了需要的数据后, 实时计算一个新的<倒计时>列.

现在还没理清楚思路的是, 如果是通过条件查询这个<倒计时>列, 比如是大于, 小于某个值, 现在思路就是去对比<创建时间>. 然后继续转换出新的<倒计时>列.

感觉现在的计算量比较多, 也比较大. 其中一个原因是数据可以导出到 excel, 如果在大批量的时候. 可能性能有可能吃紧.

不清楚这个 s 实现思路, 大家有更多的思路或者建议没, 如果不增加其他组件, 比如缓存等?
936 次点击
所在节点    程序员
7 条回复
opengps
2022-12-12 17:43:55 +08:00
sql 环节不需要计算啊,倒计时就是创建时间的反向,你直接一个条件过滤出来,程序显示时候在加上倒计时列就行
opengps
2022-12-12 17:46:27 +08:00
解决问题核心:
1 ,数据库服务器,尽可能只进行必要的硬盘 io 操作(有利于数据库服务器承载更大的吞吐量)
2 ,应用服务器,完成帮数据库服务器降低负载作用,比如计算类操作(有利于将来集群部署结构)
c6h6benzene
2022-12-13 03:40:40 +08:00
SQL 的话储存创建时间然后 SELECT 的时候 DATEDIFF 不就好了?
YVAN7123
2022-12-13 16:57:59 +08:00
不需要处理倒计时吧, 只需要在显示的时候处理一下, 比如在 execl 中导出创建时间, 然后在对应列加个函数。直接可以用函数算一下倒计时。这样还是随时更新的倒计时不更好。 前端同理
locochen
2022-12-16 13:02:11 +08:00
@YVAN7123 这个是 excel 里面了, 其中一个需求满足不了, 比如条件查询, 例如查询"<倒计时> 是大于 1 小时的数据".
locochen
2022-12-16 13:04:55 +08:00
@c6h6benzene 比较想在服务上面实现, 因为会涉及到很多业务相关.
locochen
2022-12-16 13:06:42 +08:00
@opengps 是的, 也是考虑到这个问题. 所以再服务层设计实现. 现在实现了读取和查询的内容也工作的, 还没跑性能. 可能需要再看看性能如何, 是不是需要优化

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902009

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX