問題を解決しています。製品をそのバリエーションとともにデータベースに保存する方法です。私の現在のシステムは次のようになります。
PARAMETERS - id_parameter (some parameter value - i.e. size XXL),...
PRODUCTS_PARAMTERS - id_product, id_paramter
CATEGORIES - id_category,...
PRODUCTS_CATEGORIES - id_product, id_category
FILES - id_file,...
PRODUCTS _FILES - id_file, id_product
PRODUCTS - id_product, description, price, vat, is_variant (1 or 0, if 1, product is variant), main_product(id is variant, here is stored main products id)
このシステムでは、商品がバリエーションでない場合、価格だけを記入することはありません。このシステムには、コードや関数をあまり編集する必要がないという長所があります...短所はサイズだと思います。主な製品とバリエーションのロットまたは行があるため、クエリは 10,000 行などを確認する必要があります...
さて、私はそれについて少し考えていましたが、このアイデアを思いつきました: 主な製品とバリエーションを別々のテーブルに保存します。次に、マッピング テーブルを編集する必要があります。id_product が製品バリアント テーブルまたはメイン製品テーブルからのものであるかどうかを指定する列を追加できます。または、他のマッピング テーブルを作成する必要があります。1 つのマッピング テーブルには主要な製品のパラメータを格納し、2 つ目のマッピング テーブルには製品のバリエーションのパラメータを格納します...
この2つのソリューションについてどう思いますか? どちらが良いでしょうか?私にとって最も重要なのはスピードです - 特に製品をフィルタリングするとき...
ご意見やアイデア、作り方をよろしくお願いします。