【发布时间】:2009-08-17 23:33:36
【问题描述】:
我正在编写一个 PHP 函数,该函数将使用一个表格来根据我拥有的日期戳来查找应用程序应该去哪个 DB 分片。
分片配置是这样的(伪代码):第一列是我要查找的事件的日期,第二列是事件所在的分片。
pre-2008 -> shard1
2008-2009 -> shard2
2009_01-2009_06 -> shard3
2009_07 -> shard4
2009_08 -> shard5
2009_09 and up -> shard6
如您所见,我想要的配置非常灵活 - 它可以采用任何日期范围,无论大小,并映射到一个分片。
我正在寻找根据给定日期进行查找的最快方法。
例如,如果我的日期是 2009 年 5 月 2 日,那么我要查找的 shard 是 shard3。如果日期是 2007-08-01,那么它就是 shard1。
实际 PHP 代码的奖励积分,因为应用程序是 PHP。
谢谢。
【问题讨论】: