2011-07-04 18 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を使用していると仮定している可能性があります。もしあなたがそうでないなら...まあ、生のスピードを上回る可能性のある少ないDBのための多くのオプションがあります。

関連する問題