0

一連のクエリ (文字列) を格納する mysql テーブルがあります。

その内容を含むテーブルは次のようになります:-

query_id   queryString
  1.         Query 1
  2.         Query 2
  3.         Query 3

上記のクエリに何らかの形で関連する結果テーブルは、示されている形式で別の mysql テーブルに保存されます。

result_id   query_id  resultString
   1.           1      Result 1
   2.           1      Result 2
   3.           2      Result 3
   4.           2      Result 4
   5.           2      Result 1
   6.           3      Result 3
   7.           3      Result 4
   8.           3      Result 5

Result 1Result 3Result 4を複数回保存する必要があるため、明らかに上記のモデルには冗長性があります。この冗長性は、同様のクエリの数が増えるとさらに増加し​​ます。したがって、結果クエリで何らかの処理を行う必要がある場合、いくつかの重複する値を処理する必要があるとしましょう。

私が考えることができる別の方法は、結果をテーブルに一意に格納し、それらが参照する results_id をクエリと共にクエリ テーブルに格納することです。しかし、その場合、クエリの結果を読み取っているときに、持っているすべての result_id に対応する 1 つの mysql クエリを実行する必要があります。だから、それは私には非効率的です(読んで)。

読み取り/書き込み負荷の増加を最小限に抑えて冗長性を取り除くのに役立つ他の解決策は何ですか?

疑問を質問する際に不明な点がある場合はコメントしてください。

ありがとう !

4

1 に答える 1