2015-03-27

http://anond.hatelabo.jp/20150326173616

つ連結リスト

前のデータに対するキーと次のデータに対するキーを保持していればいいだけ。

挿入、削除ともに対象とその前後のみ変更すればいいので低コスト

順序のキーを持ちたいなら、ある程度の間隔でキーを採番し、挿入時は前後キー中間を設定する。

順序キーが詰まってきたらトリガ等で適当に割り振り直す。

記事への反応 -
  • 今PHP+MySQLでちょっとWebサービスを作ってて、 それに「○○とXXの間にデータを挿入」とか「○○とXXのデータ配置を入れ替え」 みたいな機能を実装したいと思っていろいろと調べてた...

    • つ連結リスト 前のデータに対するキーと次のデータに対するキーを保持していればいいだけ。 挿入、削除ともに対象とその前後のみ変更すればいいので低コスト。 順序のキーを持ちた...

    • 順番カラムをDECIMALにして 1と2の間に挿入するときは 1.01.12.0 1.1と1.2の間に挿入するときは 1.11.111.2 とかやるのはどうでしょう。

    • 都度ソートすれば?

    • >どう考えても超重くなっちゃうし。 前提条件がないから何とも言えない。 何件のデータに対しての操作を想定しているのか。 その操作は頻繁に起こるものなのか。 サーバはどの程度...

    • その程度の知識なら大規模開発でもないだろうしアクセス数もたいしたことないだろうから ぶっちゃけ気にしなくていいレベル 最初からなんでも完璧にやるなんて無謀だから困ったとき...

    • それPostgreSQLやOracleなら一発でできるし、MySQLでもできるんじゃないかな、と思って書いてみた。 http://oceo.hatenablog.com/entry/2015/03/27/174933

    • 都度ソート用のデータを全部更新、って手はあるけどどう考えても超重くなっちゃうし 考える前にまず簡単にテストしてみ。考えてたほど重くなければそれで良いじゃんって思うが。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん