2

私は、質問、カテゴリ(複数)およびサブキャット(複数)を含むテーブル質問(mysqlとphp)を持っています。各質問を保存する際の簡略化のために、以下のようにコンマで区切ってカテゴリを保存しました

qid    question      catid    subcat
2     question1        2,3,4   5,7

このように私は今DBに1000の質問があります

ファセット検索を使用しているときに、各カテゴリとそれに対応するサブキャット(以下のツリー形式など)を除外したいと思います。

 cat1(5)
   subcat1(3)
   .........
 cat2(24)
 ..........

このために、私はその質問テーブルの各ループで各質問の特定の猫を検索しながらin_arrayを実装しました。ページが遅くなっています。テキスト検索と一緒に。

それは本当に良い考えですか、それとも私に正しい方法を提案しますか?

カテゴリごとにテーブルを分けたいかどうか?

ありがとう、ゴビ

4

2 に答える 2

1

はい、これを行う正しい方法は、カテゴリとサブカテゴリの両方に次のように別々のテーブルを用意することです。

Table Category
--------------
qid   cat-id


Table Sub_category
------------------
qid   sub_cat_id

このようにして、質問テーブルは次のようになります。

Table Question
---------------
id    Question
于 2010-08-25T06:21:30.507 に答える