Ich schreibe eine PHP-Funktion, die eine Tabelle der Arten verwenden würde, um zu suchen, welcher DB-Shard die Anwendung zu gehen sollte, basierend auf dem Datumsstempel, den ich habe.Algorithmus zum Nachschlagen des Datumsbereichs basierend auf Ereignisdatum
Die Scherbe Konfiguration ist so etwas wie diese (Pseudocode): die erste Spalte das Datum der Veranstaltung ist es ich suche und das zweite ist die Scherbe das Ereignis in residiert
pre-2008 -> shard1
2008-2009 -> shard2
2009_01-2009_06 -> shard3
2009_07 -> shard4
2009_08 -> shard5
2009_09 and up -> shard6
As. Sie können sehen, dass die Konfiguration, die ich möchte, ziemlich flexibel ist - sie kann jeden beliebigen Datumsbereich, egal wie klein oder groß, sein und einem Shard zuordnen.
Ich bin auf der Suche nach dem schnellsten Weg, um eine Suche nach einem bestimmten Datum zu tun.
Zum Beispiel, wenn mein Datum ist 2009-05-02, ist der Shard ich nach shard3 bin. Wenn das Datum 2007-08-01 ist, dann ist es shard1.
Bonuspunkte für tatsächlichen PHP-Code, wie die Anwendung in PHP ist.
Vielen Dank.
Nun, ich würde nicht die ganze Zeit sortieren und suchen wollen, weil das teuer ist. Ansonsten mag ich deine Annäherung, da es in der Tat keine Löcher gibt. –
Wenn Sie das Startdatum anstelle des Enddatums verwenden, entfällt die Notwendigkeit für "DEFAULT". –
Die Verwendung des Startdatums würde einen Standardwert erfordern, um alles * vor * dem ersten Shard abzufangen. –