QA@IT
«質問へ戻る

質問を投稿

MySQLデータベースを効率的に書き換えたい

複数のユーザーが存在するMySQLベースの簡易SNSのようなものがあり、
楽曲データベースの中からユーザーごとに最大5曲までピックアップして表示できるようにしたいんですが、
テーブル構造を「ユーザーID/楽曲ID/順序」とした場合、順序の入れ替えや楽曲の差し替えが発生した時
そのユーザーの全部のレコードの順序を書き換えることになりますが、
SELECT でユーザーの楽曲を全て取得しておいてユーザIDと楽曲IDの複合主キーをもとに
一曲ごとに UPDATE や DELETE していくのが正しいですか?

複数のユーザーが存在するMySQLベースの簡易SNSのようなものがあり、
楽曲データベースの中からユーザーごとに最大5曲までピックアップして表示できるようにしたいんですが、
テーブル構造を「ユーザーID/楽曲ID/順序」とした場合、順序の入れ替えや楽曲の差し替えが発生した時
そのユーザーの全部のレコードの順序を書き換えることになりますが、
SELECT でユーザーの楽曲を全て取得しておいてユーザIDと楽曲IDの複合主キーをもとに
一曲ごとに UPDATE や DELETE していくのが正しいですか?