-1

データベース構造

transaction_detail テーブル エントリは、ユーザーが送信した検索語を使用して検索できます。キーワード列には、説明や顧客名などの検索語が含まれ、新しいレコードが追加されると挿入されます。次に、キーワード列が検索語と一致するかどうかがチェックされます。

人物表

+----+------+
| ID | NAME |
+----+------+
| 12 | Mike |
+----+------+

Transaction_detail テーブル

+----+--------------------------+-----------------+---------------------------+
| ID | DESCRIPTION              | CUSTOMER_ID(FK) | KEYWORDS                  |
+----+--------------------------+-----------------+---------------------------+
| 55 | Delivery from ABC Stores |              12 | ABC stores, delivery,mike |
+----+--------------------------+-----------------+---------------------------+

シナリオ

顧客名 (Mike) が変更された場合、すべての行のキーワード列を Customer_id 12 で更新する必要があります。

ただし、Transaction_details テーブルに数百行ある場合、この方法は非常に非効率的になります。テーブル内のレコードの検索を改善する別の方法を教えてください。

4

1 に答える 1

2

@Nikoが言ったように、これは別のテーブル(または2つ)に格納する必要があります。

キーワード表

+----+------------+
| id | name       |
+----+------------+
|  1 | ABC stores |
|  2 | delivery   |
+----+------------+

人からキーワードへの表

+-----------+------------+
| person_id | keyword_id |
+-----------+------------+
|        12 |          1 |
|        12 |          2 |
+-----------+------------+

次に、どのキーワードが魔女の人に適用されるかを知りたい場合は、IDにそれらを参加させるだけで、リストが表示されます。

于 2013-02-01T08:46:41.840 に答える