ホームページ >バックエンド開発 >PHPチュートリアル >注文テーブルはユーザー ID または注文 ID に基づいてテーブルに分割されていますか?
注文テーブルはユーザーIDまたは注文IDに基づいてテーブルに分割されていますか?
返信内容:ユーザーは注文IDに従って分割された複数の注文を持つことができます
uiserid と orderid は 1 対多の関係であるため、注文テーブルの主キーは orderid で、外部キーは userid です
orderid を使用してテーブルを分割する利点は、たとえば、時間に応じて分割したり、注文数が一定の値に達したときに新しいテーブルを作成したりできることです。欠点は、userid が異なることです。クエリ時の検索条件としてよく使用されるため、多くのユニオン演算が発生します。
userid が使用される場合、状況は逆になります。テーブルのサイズは一定ではなく、時間の経過とともに増加し続けます。ただし、クエリが単一のテーブルであり、非常に高速になるという利点があります。
私の個人的な意見: nosql をキャッシュに使用しない場合は、テーブルを分離するために userid を使用することをお勧めします。パフォーマンスを追求する場合は、キャッシュに memcache を使用できます。orderid を使用してテーブルを分割しても、2 回目のクエリ時にキャッシュが直接読み込まれるため、速度は非常に高速になります。頻繁に注文を確認するユーザーにも優しいでしょう。