0

这是我的情况。我有一个包含以下数据的表格。

Property_name Property_value
--------------------------------------
prob_name_1   ,sdfsdf@ce.o,jfgj@ce.o, 
prob_name_2   ,sdfsf@ce.o,dsf@ce.o, 
prob_name_3   ,sdfsfss@ce.o,sdfsdf@ce.o, 
.              .
.              .
.              .
prob_name_n    ,sdfsfss@ce.o,sdfsdf@ce.o, 

此表中可以有很多行,并且电子邮件将以逗号分隔存储。Property_value 将保持数据更新的最大值(2k)。我在最后一个属性中没有“n”,如果需要,我需要查找。

我的查询是,我需要在此数据中搜索电子邮件。由于我们使用 memcache 工具来缓存这些数据(它存储在 中Hashtable<String, String>),所以我们不使用查询。我的想法很少。请给我推荐一个更好的。

  1. HashMap - property_name 和 property 值的键对值。迭代它并检查值直到找到它。
  2. 迭代所有行并搜索直到找到。
4

1 回答 1

2

由于电子邮件地址不能按数字排序,因此您的第二个选择将是您的选择。如果你说的是你需要找到给定property_value的property_name,那就是。

如果您的列表可以以任何方式排序,则可以使用二进制搜索方法。但是,排序电子邮件地址的唯一方法是按字母顺序排列,我认为这将花费更长的时间。

于 2012-10-03T15:08:34.550 回答