とあるソシャゲをやっていたら、今朝になって突然起動しなくなる。再起動だのキャッシュ削除だのやってもだめで、これはサーバ側のデータ破損かなと思いクラッシュレポートを送る。
そんなわけで結構凹み気味で出社したのだが、昼休みに外で起動したら問題なく動いてしまった。
・・・結論からいえば、ルーターがネットワーク経路をキャッシングしてたのが問題だった模様。ルータのファームウェアアップデート&再起動で解決。
前にもはてなブログのhttps化で同じの踏んだんだけど、なまじ他のウェブなんかは問題ないから原因が特定しづらいのなー。
組織図のような長さが変動する要素をどうDBに収めるかなーと考えていて、経路列挙モデルなるものを学ぶ。つまりは要素までの経路を全て保存しておくという単純なアイディアではあるが、なるほど実用的には使いやすい。
id | path | value |
---|---|---|
1 | /1 | ファイヤー |
2 | /1/2 | アイスストーム |
3 | /1/2/3 | ダイアキュート |
4 | /1/2/3/4 | ばよえ~ん |
連なる親要素をひくときは
SELECT GROUP_CONCAT(value) FROM table WHERE (SELECT path FROM table WHERE 〜) LIKE CONCAT(path, '%/');
みたいな感じでいけるし、逆にすれば子要素の列挙もできる。
初期登録が自身のidを用いてpathを組み立てる必要があるので面倒ではあるが、そこまで激しく更新されない用途であれば使いやすそうだ。
直感で思いついていた親要素のIDを持っておく方式は、再帰クエリが書けないMySQLにおいてはアンチパターンだった。
- 作者: Bill Karwin,和田卓人,和田省二,児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/01/26
- メディア: 大型本
- 購入: 9人 クリック: 698回
- この商品を含むブログ (46件) を見る
ここ数日じんわり頭痛がしてたんだが、とうとう喉にも痛みが出てきて、本格的に風邪っぽい雰囲気。有休今月はもう使いたくないんだが・・・