我正在製作字典web應用程序。用戶將搜索單詞。這樣做會更快嗎?什麼字段結構會更適合MySQL中的定義表?
SELECT * from definition WHERE word LIKE "house";
或...
SELECT * from definition WHERE word_hash LIKE md5("house");
在第二個例子,我存儲的MD5()在word_hash字段字的值。當然,「word」和「word_hash」是索引。
更新:有時,這個詞場可能超過1個字。例如:聖布魯
我將承擔詞搜索將是在大多數情況下(如果它的長度比哈希短)更快 –
如果由於某種原因,會有什麼樣的定義,超過1個字?例如:SacréBleu(法語) – andufo
如果我的單詞搜索理論(以及我假設任何加速不會很重要)是正確的,那麼這個單詞仍然更快。那個/那些單詞的散列是'80d42badd4395b5733ee6e594773776e',比組合單詞長一點。此外,你正在增加一個哈希的代價,而版本#1沒有。 –