我们正在研究在PHP/MySQL环境中使用尽可能少的资源的数据库中开发搜索例程的最佳方法。检查外部数据是否已存在于我们的MySQL数据库中的最佳方法
我们处理外部信息的馈送,这些信息有时会微妙地变化或有新的状态值。这意味着我们仅限于添加我们自己的数字键并通过常规SQL搜索进行搜索。
我们正在考虑使用MD5创建一个唯一的字符串所以不是搜索为...
WHERE DATE = '12/12/2012 09:00'
AND TYPE = 'new alert'
AND loc = 'rear door'
AND subtype = 'pir hit'
AND lat = 39.3343
AND lon = 145.234
AND current STATUS = 'active'
AND Support = 'en-route';
我们创建了一个MD5例如ef6d3c25ac9362413fed2b4d3f65962a在我们感兴趣的领域之外,例如 2012年12月12日09:00〜新警报〜后门〜皮尔命中〜-39.3343〜145.234〜活动〜途中,然后我们可以在数据库中搜索这个MD5而不是单独的字段。
我们也有兴趣查看使用最近MD5列表的文件,而不是一直询问db,因为我们可能在Feed中至多有1100多个作业。更多的时候是大约60个左右的工作。
我们对您的想法和理由感兴趣,您认为这是最佳解决方案。
哇!不要使用MD5加密数据库中的正常单元格。您将来无法阅读数据! – 2013-03-02 02:31:04
@aguyfromhere:据推测,OP提出了一个额外的带有散列的搜索索引字段。他们不需要颠倒散列,这当然是不合理的。 – 2013-03-02 02:35:25
@MichaelPetrotta:当像'PRIMARY KEY AUTO INCREMENT'这样的东西可以正常工作时,使用巨大的散列似乎很荒谬。 – 2013-03-02 02:36:58