■
SQLで木と階層構造のデータを扱う――入れ子集合モデル
データベースで階層構造を扱うときは、一般的なツリーのデータ構造をそのままDBスキーマに置き換えてしまいがちですが、集合の概念でも実現できるというお話。
仕組みのシンプルさといい、インデックスとの相性といい、目から鱗な感じでした。
特定のノード以下を全て取得といったような包含関係を扱う場合は、ノードを順に辿らなければいけない隣接リストモデルに比べて圧倒的なパフォーマンスが得られそうですね。 実際のところそれ以外の点については大きなアドバンテージがないというか、 直下のノードを列挙するような場合にはSQLでは難しかったり、挿入や削除は構造上無関係なノードまで更新の必要があるのでコスト高かったりもするんですが、 用途次第では結構使えるモデルだと思います。
特定のノード以下を全て取得といったような包含関係を扱う場合は、ノードを順に辿らなければいけない隣接リストモデルに比べて圧倒的なパフォーマンスが得られそうですね。 実際のところそれ以外の点については大きなアドバンテージがないというか、 直下のノードを列挙するような場合にはSQLでは難しかったり、挿入や削除は構造上無関係なノードまで更新の必要があるのでコスト高かったりもするんですが、 用途次第では結構使えるモデルだと思います。
posted at 14:40 [ /misc ]
以前からCtrl+GでG-Forceモードという簡易フライトシミュレータはあったみたいですが、
最新版のGoogle Earth(4.2)ではイースターエッグとしてより本格的なシミュレーション機能があるみたいです。
早速、試しに触ってみたんですが…離陸すらままならずに墜落しまくりでしたorz






