web-dev-qa-db-ja.com

式try_castの型変換は、クエリプランの選択でのカーディナリティの推定に影響する可能性があります

クエリの実行速度が非常に遅いため、実行計画の調査を開始しました。 TRY_CASTは、データを型にキャストできるかどうかを確認する安全な方法です。また、計画にはTRY_CASTに関する警告があります。

 Type conversion in expression try_cast may affect "CardinalityEstimate" in query plan choice

私はDBAではなくコーダーです。データベース関連のことになると、私を初心者として扱います。

(この質問のタイトルの警告に基づいて)クエリの速度を向上させるための最良のアプローチは何ですか?クエリの高速化に役立つ可能性があるTRY_CAST以外のものはありますか。たとえば、CAST自体は例外が発生しやすく、安全なキャストを行うための唯一の方法はTRY_CASTです。

enter image description here

7
Oxon

基本的に、これは型変換がインデックスを効果的に使用できないことを意味します。カーディナリティは、使用する可能性のあるインデックスの重要なプロパティです。パフォーマンスについては、オンザフライで変換するのではなく、データ型を一致させることが理想です。

あなたはこれに関するThomas LaRockの投稿を見つけるでしょう: http://thomaslarock.com/2012/08/why-datatypes-matter-3-ways-they-can-hurt-performance/

17
RLF