名前、カテゴリ、価格などの製品情報を保存するアプリを構築しています。
製品は複数のカテゴリに属することができるため、製品に対してこの情報を保持するためのカテゴリ テーブルがありますが、ユーザーが好きな言葉で製品を検索できるようにしたいと考えています。つまり、ユーザーは製品名、説明、カテゴリ、価格などを入力できます。すべてユーザー次第です。
私が推測しているクエリは(まだ構築されていないため)、次のようになります。
SELECT * FROM tbl_product
JOIN tbl_category ON tbl_product.product_id = tbl_category.product_id
WHERE
tbl_product.name LIKE $query
OR tbl_product.description LIKE $query
OR tbl_category.category etc.
このデータを保存する最良の方法は何だろうと思っていましたが、製品テーブルには現在整数 (1 = トップ、2 = ボトム、3 = 靴など) である製品タイプの列もありますが、ユーザーは検索していますtop は検索で 1 を入力せず、top または tops と入力します。整数に基づいて検索する方が速いことはわかっていますが、製品テーブルに「トップ」を格納して検索するか、「1」を格納して結合する方が速いでしょうか?
ありがとう