我有一个存储一组查询(字符串)的 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 1、Result 3和Result 4。这种冗余随着类似查询数量的增加而进一步增加。因此,假设我必须对结果查询进行一些处理,我将不得不对几个重复值进行处理。
在我能想到的另一种选择中,我可以将结果唯一地存储在一个表中,并将它们所引用的 results_id 与查询表中的查询一起存储。但在这种情况下,在读取查询结果时,我将不得不点击多个 mysql 查询,一个对应于我拥有的每个 result_id。所以,这对我来说似乎效率低下(请阅读)。
还有哪些其他可能的解决方案可以帮助我在读/写负载增加最小的情况下消除冗余?
如果我不清楚我的疑问,请发表评论。
谢谢 !