タグ

ブックマーク / daiyamamoto.hatenablog.com (1)

  • クエリの実行プランを強制する。 - レベルエンター山本大のブログ

    いま、クエリのパフォチュをしている。 その中でちょっとした問題にぶつかった。 番サーバー(高スペック)で実行すると劇的に遅く(5分)、 ハードウェアスペックのみが異なる開発環境では、予期している速度(5秒)という現象だ。 詳しく調べていると、番サーバーでのクエリ実行プランが開発環境とは、まったく異なることに気づく。 実行プランは、SQLServerのオプティマイザ機能が、インデックスや統計情報、CPUやメモリ状態など あらゆる点を考慮して自動的に作成するが、今回はオプティマイザがちょっとおばかだったらしい。 この対応としては、「Option(HASH JOIN)」というクエリヒントをつけることで、 ある程度、こちらの想定する実行プランに強制することで対処した。 ただ、非常に危ない機能なので、利用を躊躇していたけど、 クエリの内容を検討して、確実にHash Joinであるほうが早いと踏ん

    クエリの実行プランを強制する。 - レベルエンター山本大のブログ
  • 1