2015-03-26

Webサービス開発に詳しい奴ちょっときて

PHPMySQLちょっとWebサービスを作ってて、

それに「○○とXXの間にデータを挿入」とか「○○とXXのデータ配置を入れ替え」

みたいな機能実装したいと思っていろいろと調べてたんだけど、

どうやらMySQLでこういうのを実装をするのはちょっと難しいということらしい。

ソート用のカラムを用意して間に挿入とかされる都度ソート用のデータを全部更新、って手はあるけどどう考えても超重くなっちゃうし。

でも考えてるサービスの「順番」って概念結構重要になってくるし絶対こういう入れ替えや間に挿入的な機能があった方が使いやすくなるからなるだけ実装したいと思ってるんだけど、

最悪RDBSから離れるというのもありとして、なんとかする方法ってないだろうか?(なるだけMySQLがいいけど)

  • 順番カラムを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

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

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

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