2011-07-04 22 views
2

我在150M行表上優化SELECT查詢時遇到了一些問題。我想盡可能快地搜索md5(char(32))。你認爲獅身人面像在這種情況下有意義嗎? 我讀過很多東西,它看起來非常適合全文搜索。我的例子值得嗎?獅身人面像是否值得用於非全文搜索?

name char(64) 
lname char(253) 
md5 char(32) 
id bigint(20) 

謝謝

回答

3

獅身人面像沒有意義在這種情況下。您正在尋找完全匹配。首先是索引md5列。這應該會導致結果很快出現。如果速度不夠快,那麼可以使用緩存來加快查找速度(並從數據庫中取出數據) - 請參閱memcached或類似的東西。

1

埃文的答案對我有意義。

如果您尚未使用sphynx爲應用程序添加額外的層次需要證明理由。這意味着首先在mysql中查看它是否足夠好。

我可能會認爲你的應用程序的其他部分已經在使用mysql。如果你不這麼做......那麼對於性能較差的數據庫來說,有很多選擇可能會超越原始速度。