我們正在研究在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