我在一個數據庫表中創建了過濾的唯一索引。根據我的研究,如果我想要做的asp.net我需要如果我把上面的功能在以下設置操作轉向我的連接SQL Server 2008中的篩選索引
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
該表上的任何操作,會是怎樣的效果呢?它是否導致任何問題?還有其他更好的選擇嗎?
在此先感謝
我在一個數據庫表中創建了過濾的唯一索引。根據我的研究,如果我想要做的asp.net我需要如果我把上面的功能在以下設置操作轉向我的連接SQL Server 2008中的篩選索引
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
該表上的任何操作,會是怎樣的效果呢?它是否導致任何問題?還有其他更好的選擇嗎?
在此先感謝
爲您正確使用索引您需要的三個項目都沒有。決定索引是否被使用的唯一最大因素是查詢的構造,並且它是查詢優化器引擎的評估。
不過,去與你帶來了什麼了,讓我們檢查使用三種:ON
SET CONCAT_NULL_YIELDS_NULL讓我們藉此聲明SET @Name = @FirstName + ' ' + @LastName
如果@firstName爲NULL或者@LastName是NULL,那麼你的@Name將是NULL。如果你不希望這種行爲 - 你要像NULL空字符串被處理,那麼你SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_PADDING ON
這將在未來被廢棄。在SQL Server上,默認設置爲ON。事實上,在新版本的SQL Server上,你甚至不能把它關閉。
這會影響varchar列中的數據存儲 - 例如,如果將其打開,則值TEST
將與尾隨空格一起存儲(如果將其關閉爲OFF),則會刪除尾隨空格。同樣的事情適用於將零尾隨到VarBinary列中。
SET ANSI_WARNINGS ON
這是分組和彙總。如果你在任何聚合函數中有一個NULL值,並且你想知道有一個NULL值,那麼你將它設置爲ON。如果你不關心從聚集中消除NULL,那麼你把它關閉。