まず、私のケースについて説明します。
各ユーザーの約200の余分な詳細を保存する必要があります。私はワードプレスを使用しています。これで、ユーザーに関連付けられたデータを保存するデフォルトの機能があります。しかし、私は何を使うべきかわかりません。私の場合、1ページにいくつかのデータが必要になります。たとえば、あるページに20個のデータが必要で、別のページに100個のデータが必要です。ユーザーは、一度に20個のデータ、または一度に100個のデータを必要とする場合があります。
データベーステーブルはまだ設計していません。クエリの最良の方法を理解した後、私はそれを設計します。200の検索クエリを実行しても問題がない場合にユーザーの200のデータ(フィールド)を取得するには、WordPressのデフォルトのメタテーブルを使用します。構造は以下のとおりです。
----------------------------------------------
| umeta_id | user_id | meta_key | meta_value |
----------------------------------------------
上記の構造から、ワードプレスが単一のユーザーの各データを単一の行として保存していることがわかります。したがって、この場合、1人のユーザーの200データのワードプレスは200行を節約します。そして、データを取得するには、200回のクエリを実行する必要があります。
これで、ユーザーのすべてのデータを1つのクエリで取得してセッションに保存する方がよい場合は、独自のテーブルを作成します。構造は以下のとおりです。
---------------------------------------------------------------
| User_ID | User_detail_1 | User_detail_2 | User_detail_3 | ...
---------------------------------------------------------------
上記の構造では、200個のデータすべてを1行に保存し、すべてを1つのクエリで取得して、必要に応じてセッションとユーザーに保存できます。
今私のサイトでは、1ページにすべてのデータは必要ありません。あるページでは100個のデータが必要な場合があり、別のページでは50個のデータが必要な場合があります。したがって、私の場合を考えると、(wordpressメタテーブルを使用して)各データを行として保存してから、100個のデータが必要なページに対して100個のクエリを実行し、50個のデータが必要な場合は50個のクエリを実行する必要がありますか?
または、1つのクエリを使用してすべてのデータを取得し、SESSIONに保存してから、50または100のデータが必要なSESSIONのデータを使用する必要がありますか?