0

これが冗長である場合はお詫びします。おそらくそうです。調べてみましたが、知りたいことと一致する質問が見つかりませんでした。

基本的に、約 50000 行のテーブルがあり、それよりもはるかに大きくなると予想されます。管理者ユーザーがカテゴリに基づいてアイテムにカスタム データを追加できるようにする必要があります。ユーザーは、情報を追加する管理者によって定義されたフィールドを選択するだけです。

最初に、item_fields から item_categories へのエントリをペアにする item_categories_fields テーブルを使用していたので、管理者はカスタム フィールドを追加して、一貫性を保つためにカテゴリ間でそれらを再利用できます。item_fields は、値をフィールドにリンクする item_field_values と関係があります。これが、.NET での処理方法です。ただし、このプロジェクトでは CAKEPHP を使用しており、学習を進めているだけなので、少し面倒なこともあります。

ただし、基本的に item_id である item_custom_fields テーブルと、XML 形式のデータを格納するテキスト フィールドを追加することを考えています。これは、カスタム フィールドの値のみを対象としています。

必要なデータは items テーブルに格納されているため、ID でアイテムをフェッチしたい場合は問題ありませんが、カスタム フィールドに基づいて検索を実行したい場合はどうすればよいでしょうか? だろう

SELECT * FROM item_custom_fields 
WHERE custom_data LIKE '%<material>Plastic</material>%'

(ユーザー入力関連の問題は別として)この場合、プラスチック製のアイテムを取得したい場合は実用的ですか?それはどれほど遅いでしょうか?

ありがとう。

編集:現実的には、このことは起動時にその1つのテーブルで約40万行になるのではないかと心配していました。ありがとうございます。

4

1 に答える 1