maco's life

主にエンジニアリングと読書について書いていきます。

mysql range partitionでなぜ2日分作成するのか

mysqlのrange partitionは今日と明日の2日分つくるのがよくあり なぜか調べた。(というか聞いた)

今日の分しかpartitionを作成しないで日付が変わると 次の日のpartitionがないのでその間にinsertされてる新しい要素は catch_all節でドラえもんの4次元ポケットに溜まっていく。

次の日、エンジニアが目覚めて エンジニア「やべ、partitionきってなかった!今からつくろう!」 とすると…

その時つくられるpartitionの対象要素がドラえもんの4次元ポケットにある場合、その要素を新しくつくるpartitionにinsertして前のやつをdeleteする といった挙動がおこり、mysqlが詰まりだして、エンジニアもつらまる。

これめっちゃ辛いから、予め2日分作っておけば安心だよねといったことです(๑╹ڡ╹๑)