ホームページ  >  記事  >  バックエンド開発  >  大量のマルチレベル機密データの取得、キャッシュ、検索クエリを最速で行う方法を設計するにはどうすればよいでしょうか?

大量のマルチレベル機密データの取得、キャッシュ、検索クエリを最速で行う方法を設計するにはどうすればよいでしょうか?

WBOY
WBOYオリジナル
2016-12-01 00:56:491216ブラウズ

1. 大量のデータ
2. 複数レベルの分類
3. すべてのデータを取得した後、検索機能があります (検索されたデータのレベル数に関係なく)と子を取得する必要があります。検索名と一致するものは赤でマークされます)

ここでは、1 つのメソッドを使用してすべてのデータを取得し、後ですべてのカテゴリ ID とその親サブセットを取得します。その後、たとえば、検索を開始する代わりに、すべてのデータが重複しているはずです。重複を削除し、これらのIDを渡してすべての情報を取得し、最後にリサイクルして検索に一致するフォントの色(検索共通)を変更し、最後にリサイクルしてツリー構造データに結合します

データ量が多いと昔のループが遅くなる気がするので

すべてのデータを検索および初期化するための 2 つの別々のメソッドを記述して最適化するにはどうすればよいですか?

また、キャッシュを取得するたびに再確認する必要がないようにキャッシュを追加しましたが、検索する場合は、当然、検索する必要があります。データ量が少ない場合は良いのですが、サイクル数が多すぎる場合は、キャッシュで二次フィルタリングを実行する方法はありますか? thinkphp フレームワークの S メソッド キャッシュ

共有してくれてありがとう

返信内容:

1. 大量のデータ

2. 複数レベルの分類
3. すべてのデータを取得した後、検索機能があります (検索されたデータのレベル数に関係なく)と子を取得する必要があります。検索名と一致するものは赤でマークされます)

ここでは、1 つのメソッドを使用してすべてのデータを取得し、後ですべてのカテゴリ ID とその親サブセットを取得します。その後、たとえば、検索を開始する代わりに、すべてのデータが重複しているはずです。重複を削除し、これらのIDを渡してすべての情報を取得し、最後にリサイクルして検索に一致するフォントの色(検索共通)を変更し、最後にリサイクルしてツリー構造データに結合します

データ量が多いと昔のループが遅くなる気がするので

すべてのデータを検索および初期化するための 2 つの別々のメソッドを記述して最適化するにはどうすればよいですか?

また、キャッシュを取得するたびに再確認する必要がないようにキャッシュを追加しましたが、検索する場合は、もちろん検索する必要があります。データ量が少ない場合は良いのですが、サイクル数が多すぎる場合は、キャッシュで二次フィルタリングを実行する方法はありますか? thinkphp フレームワークの S メソッド キャッシュ

共有してくれてありがとう


    データベースのクエリにループを使用しない限り、ほとんどの場合、ループの方がデータベース クエリよりも数桁速いとは思わないでください
  1. ほとんどの場合、select...in が主キーまたはインデックスにヒットした場合、結果セットは数百以内になり、実際の状況に基づいて使用できます
  2. データ量が非常に多く、絞り込み条件も多いため、単語分割検索がある場合は、検索エンジン、ElasticSearch、Sphinx等の利用をご検討ください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。