0

PHP / 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だけです。

また、フィードには最大で1100以上のジョブがある可能性があるため、データベースに絶えず問い合わせるのではなく、最新のMD5のリストを含むファイルを使用することも検討します。多くの場合、それは約60かそこらの仕事です。

私たちは、あなたが最善の解決策であると考えるものについてのあなたの考えと理由に興味を持っています。

4

1 に答える 1

1

私は解決策として Apache Solr を選びます。ファセット検索は、ここでのすべてのニーズに適合します。データの複製/インデックス作成にそれほど労力はかかりません。このエンジンを会社のプロジェクトに実装し、名前/日付/特性/ベンダー/ディストリビューター/などを検索しましたが、魅力的に機能します。接着された文字列上のmd5は、しばらくの間解決策でしたが。とにかく、それはあなたが持っている時間と、現在のソリューションが状況をどれだけうまく処理できるかによって異なります.

于 2013-03-02T02:36:24.980 に答える