0

テーブルに保存した Redirect301 URL からの応答が遅いため、Web サイトの速度が低下しています。私の Web サイトの URL にアクセスするたびに、最初に 1939 行を含む Redirect301 テーブルから OLD Url を検索します。この一致により、Web サイトが遅くなります。OldURl 列の URL の最大長は 129 文字です。私のサイトの平均訪問数は 1 日あたり 1000 回です。

どうすればウェブサイトをスピードアップできますか? 解決策を提供するか、次のオプションのいずれかを提案してください。

オプション 1.このテーブルを DataTable に配置し、これをメモリにキャッシュしますか?

オプション 2. OLD URL のハッシュコードを計算し、次にアクセスされた URL の HashCode を計算し、それを OLDURL 列と照合して、新しい URL にリダイレクトしますか? ただし、GetHashCode() は常に同じ値を生成するとは限りません。また、2 つの異なる文字列が同じ HashCode を持つこともあります。以下の 3 つの URL を参照してください。

すべての文字列比較に GetHashCode を使用できますか

C Sharp - Equals と GetHashCode

GetHashCode のガイドラインとルール

ウェブサーバー: IIS7

データベース MS SQL Server 2005。全文索引付けと検索がインストールされ、機能しています。

オプション 3. オプション 2 に従って MD5 ハッシュを計算することによって?

オプション 4. 全文索引を適用し、Contains を使用してレコードを照合します。

Select NewURL from Redirec301 where contains(OLDURL,"http://www.MySite.Com/OLD-URL")

よろしくお願いします

私のデータベースのRedirect301テーブル: 私のデータベースのRedirect301テーブル

Redirect301 テーブル構造の詳細: Redirect301 テーブル構造の詳細

4

1 に答える 1

0

さて、私は次の方法を使用しており、うまく機能しています

ApplicationStart イベントでは、古い URL をキーとして、新しい URL を値として、すべての URL の辞書を作成しました。この辞書をアプリケーション変数に入れました

次に、この辞書で Old_Url をチェックする being-request のメソッドを呼び出します

于 2013-12-10T14:48:46.193 に答える