【发布时间】:2019-08-19 12:38:51
【问题描述】:
我遇到了一个独特的问题。我们有一个应用程序,我们在其中处理大量数据,然后按照接收到的顺序将它们放入数据库中。
当 TX# 超过 99999 并且行超过 9999 时会出现问题。
此外,我们仅限于此 seq no# 9 位数字,并且由于系统最初设计的方式可能会超出此范围。
什么是我们制作这个seq号的最佳方法,这样我们就不会失去我们得到的记录的顺序?
【问题讨论】:
我遇到了一个独特的问题。我们有一个应用程序,我们在其中处理大量数据,然后按照接收到的顺序将它们放入数据库中。
当 TX# 超过 99999 并且行超过 9999 时会出现问题。
此外,我们仅限于此 seq no# 9 位数字,并且由于系统最初设计的方式可能会超出此范围。
什么是我们制作这个seq号的最佳方法,这样我们就不会失去我们得到的记录的顺序?
【问题讨论】:
您似乎正在处理无限序列。现在瓶颈是 99999。但是随着应用程序的增长以及如何增长,您可能会遇到 9999999999 的上限。因此,在这种情况下,在 scala 中使用 Streams 是理想的,它是惰性的,相当于列表。
请参阅https://alvinalexander.com/scala/how-to-use-stream-class-lazy-list-scala-cookbook 以了解有关 scala 流的更多信息。您也可以使用Iterator 代替流。请参考https://stackoverflow.com/a/6408804/7803797 了解更多信息。
我希望这会有所帮助。
【讨论】: