SQL Server 2008データベースには約100,000行のテーブルがあり、すべてのインデックスとプライマリキーとフルテキスト検索がセットアップされています。その微調整。ローカルSQL Serverでテーブル検索は高速ですが、ホストSQLサーバーでは遅くなります
テーブル内のnvarchar列を検索するストアドプロシージャを作成しました.SPは長く、複数の選択/挿入ステートメントがあります。
ローカルSQL ServerでSPを実行すると、1秒後に結果が得られます。その後、データベースをバックアップして別のマシンに復元し、同じ検索を試行して1秒で取得しました。
私の問題は、ホストの共有SQL Serverにデータベースを作成し、SQL Serverからすべてのデータをインポートして検索を実行すると、7秒で結果が得られます。私は同じインデックスとプライマリキーとFTSが動作していることを確認しました。
ホストSQLサーバの私のデータベースの唯一の違いは、スクリプトを使用してスキーマを作成した後、インポート/エクスポートウィザードを使用してすべてのデータをインポートしたことです。私のマシン上の新しいデータベースとウィザードを使用してデータをインポートし、私は3秒で検索結果を得ました!
私はホストのSQL Server上のデータベースにSPの実行計画を確認し、私のマシン上では0%
あったが、1つのインデックススキャンは、コストの49%を取っている誰かが理由を指摘してくださいすることができましたこれは事件です?
ありがとうございました。
編集:私は両方のサーバーのための実行計画を実行したときに
は今、私はまったく同じ計画とコストを得るが、それでも速度差が巨大である(1秒と7秒)。
共有ホストでストアドプロシージャをどのように呼び出すのですか? SQL Management Studioまたは共有ホストのWebページから入手できますか? – Rob
質問を投稿してください。ローカルSQLとProdサーバーの両方がテーブルスキャンを行っている場合、インデックス作成は100%ではない可能性があります。 – StuartLC
私はSQL管理スタジオからストアドプロシージャを呼び出し、検索クエリを渡しています。テーブルのインデックスに問題があるかどうかをチェックする方法はありますか? – AmjadoV