タイトルがわかりにくかったらすいません。ユーザーが投稿を送信できる PHP で Web サイトを作成しています。現在、MySQL データベースを使用してユーザーと投稿を保存しています。各ユーザーと各投稿の間の相関値も保存したいと思います。これがアイデアです:
-----------------
| user1 | user2 |
-------------------------
| post1 | #val | #val |
-------------------------
| post2 | #val | #val |
-------------------------
MySQL でこのようなテーブルを作成できればいいのですが、クエリに連結しない限り、準備されたステートメントで列名を選択することはできません。これは明らかに理想的ではありません。
以前に同様の質問をしたことがありますが、その回答は、各行が相関関係を表す 3 列の表を作成するというものでした。そのようです:
=======================
| user | post | value |
=======================
| usr1 | pst1 | #val |
-----------------------
| usr2 | pst1 | #val |
-----------------------
| usr1 | pst2 | #val |
-----------------------
| usr2 | pst2 | #val |
-----------------------
私はこれが好きではありません。各ユーザーのIDと各投稿のIDを数回保存するため、多くの無関係なデータが保存されます。また、非常に多くの行が必要です。100 件の投稿と 100 人のユーザーがいる場合、それは 10,000 行になります。
これに対応するために、プロジェクトに別のデータベースを追加することを恐れていません (または、必要に応じて別のデータベース タイプに完全に切り替えます)。多くの NoSQL データベースがあることは知っていますが、MySQL 以外の経験がなく、どのデータベースが自分のニーズに合うかわかりません。
MySQL でこれを行うという私の懸念は合理的ですか? または、MySQL はそれほど多くの行を処理できますか? より効率的な MySQL でこれを行う別の方法はありますか? そうでない場合、これに最適なデータベースの種類を知りたいです。
これは非常に一般的なタイプの保存のように思えますが、MySQL でそれを行う合理的な方法がわかりません。したがって、これを行うのに完全に適したデータベースの種類があると思います。