我有一個查詢,比較多列的值,並返回結果。現在我必須添加另一列進行比較,這是一個文本字段,並且沒有編入索引。現在我正在考慮不要這樣做,只需添加一個稱爲散列的列,這將成爲這些列的散列,然後我只能將這與我的代碼爲這些相同列生成的散列進行比較。搜索哈希mysql列
1)我想知道這會導致任何性能增強,這是多麼有益?
2)mysql是否提供任何函數來散列列和存儲結果的組合,以便我可以散列已存在的列而無需爲此編寫單獨的代碼。
3)散列哪個散列,MD5或SHA?
4)這是一個好主意嗎?
我有幾百萬條記錄,預計在幾個月內會產生幾百萬條記錄,這些記錄會產生獨特的結果嗎?
感謝, 戒
謝謝@Yahia,我關心的是問題的列是文本類型,幷包含大字符串。如果我爲百萬條記錄編制索引,則需要大量內存來存儲這些索引。如果我可以將這個列與其他已使用的列一起散列,然後索引該散列列,那麼應該使查詢執行得更快。 – Harsha
按照我的答案 - 你可以做到這一點,它可能會使它快一點...但我不會推薦它...空間相當便宜這些天,通常不是一個參數重新發明輪恕我直言.. 。 – Yahia