0

独自の複雑な SQL リクエストといくつかの単純な SQL リクエストを私のコードにマージした場合の最善の解決策は何かを理解するのを手伝ってくれませんか?

  • 私が求人サイトで働いているとしましょう。求人はコンピテンシーによって構成されます。各能力は、関心のある分野にリストされています。たとえば、能力が C# で、興味のある分野が IT であるとします。アナウンサーは新しい求人を作成し、その仕事に必要な能力として C# を選択できます。

  • 反対側では、ユーザーは 2 つ、3 つ、またはそれ以上の関心のある領域を選択します。はい、ユーザーは能力を選択しませんが、関心のある分野です。言うまでもなく、私のユーザー xxx は関心のある 3 つの領域を選択します。

彼のホームページでは、これら3つの興味のある分野の新着求人のリストを日付順に表示したいと考えています。コードで何をすべきか。

  1. 自分のユーザーのコンピテンシーと関心領域、および自分のユーザー テーブルと自分のユーザーの WHERE 句に関するジョブ オファーへの結合を含む一意の複雑な SQL 要求

  2. より単純な SQL リクエストを 3 回呼び出して、3 つの求人リストを取得し、コンピテンスと関心分野の WHERE 句を使用して求人情報に参加し、その後、コードで 3 つのリストをマージします。

求人の日付にリストを並べ替える必要があるが、関心のあるいくつかの分野にある可能性のある求人を強調または優先する場合はどうすればよいですか。

編集

データベース要件があります : ストアド プロシージャのみを使用する必要があります

4

1 に答える 1

1

1つの複雑なクエリは、すべてのケースの99%ではるかに優れています。

ただし、データを頻繁に処理する必要があり、常に最新のデータを必要としない場合は、もちろん、コードにデータベースロジックを再実装して、パフォーマンスを向上させることができます。ただし、これは、データを頻繁に使用し、その間の変更を無視できる場合にのみ機能します。また、適切なインデックス作成と最適化を使用して、結合ロジックをすべて実装するのは非常に手間がかかることを忘れないでください。努力するだけの価値はないことをお勧めします。

于 2013-03-06T09:40:47.363 に答える