Sql-Server
為什麼當我加入索引視圖中的強制轉換欄位時,執行計劃會警告“表達式中的類型轉換”?
我認為索引視圖已物化並因此儲存在磁碟上。如果是這種情況,我會認為我在視圖中所做的任何類型轉換都會在磁碟上實現為該數據類型,並且在使用 JOIN 和 WHERE 謂詞中的這些欄位時,我不必擔心轉換問題看法。
為什麼不是這樣?
除非使用
NOEXPAND
表提示,否則在查詢編譯期間會展開索引視圖。在該擴展上生成警告。在企業版中,優化器稍後可能會將擴展匹配回物化視圖。這是一個基於成本的決定。在企業版(或同等版本)以外的任何版本中,您必須使用提示
NOEXPAND
在物化視圖上使用索引。在企業版中,仍然有充分的理由使用
NOEXPAND
提示: