婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > sql server 關于設置null的一些建議

sql server 關于設置null的一些建議

熱門標簽:電銷機器人虛擬號碼 松原導航地圖標注 創(chuàng)業(yè)電銷機器人 沈陽智能外呼系統(tǒng)代理 滄州營銷外呼系統(tǒng)軟件 海南自動外呼系統(tǒng)價格 九鹿林外呼系統(tǒng)怎么收費 浙江地圖標注 舞鋼市地圖標注app

我們設計表時,在字段是否允許Null值這個問題上,有時會爭論一番。

數(shù)據(jù)庫牛人Kalen Delaney則給了一下建議:

1,永遠不要在用戶表中允許NULL值
2,在用戶表定義中包含一個NOT NULL限制
3,不要依賴數(shù)據(jù)庫屬性來控制NULL值的行為

對于第一點,我們反向說,如果允許NULL,會給我們帶來什么影響。

1,SQL 在每條記錄中都設置了一個特殊的bitmap來顯示哪些允許空值的列上存儲的真的是空值。如果是NULL,在訪問每一行的時候SQL Server都必須對這個bitmap進行解碼。
2,允許NULL還增加了應用程序代碼的復雜度,總的添加一些特殊的邏輯來處理這個NULL值,這常常會導致bug。

第二點,在包含不允許NULL的列上,要加入一些默認值,如果不允許NULL,但是還沒有加默認值,在沒有顯示列插入的話,就會造成INSERT的失敗,SQL Server默認在INSERT中,對沒有顯示的列做NULL插入。

最后一點,主要涉及到于NULL值的比較。在我們印象中,是用IS NULL,IS NOT NULL比較呢,還是用=,>比較呢。這取決于數(shù)據(jù)庫選項ANSI NULLS,我們不可能更改數(shù)據(jù)庫選項(我們大部分不是DBA),但是我們可以使用會話設置SET ANSI_NULLS相當于數(shù)據(jù)庫選項ANSI NULLS。當這個選項為真是,所有與空值的比較都將得出FALSE,代碼必須使用IS NULL條件來判斷是否為空,而當這個選項為假時,如果進行比較的兩個值都是空值將得出TRUE,SQL Server允許將 =NULL作為IS NULL的同義詞,將> NULL 作為IS NOT NULL的同義詞。

如果忘記這個選項,建議用IS NULL判斷空,IS NOT NULL判斷非空。

測試如下:

在t3表中只有兩行數(shù)據(jù),如圖:


SET ANSI_NULLS OFF 時:

SET ANSI_NULLS ON 時

總結下來,最優(yōu)的辦法是:在設計表的時候,不要允許字段為NULL,并為字段附上默認值

您可能感興趣的文章:
  • sqlserver2005 安裝圖解教程以及SQL 2005 SP3補丁安裝圖文教程
  • MySQL server has gone away 問題的解決方法
  • sqlserver中distinct的用法(不重復的記錄)
  • SQL Server 2008 安裝和配置圖解教程(附官方下載地址)
  • SQL Server 2008 阻止保存要求重新創(chuàng)建表的更改問題的設置方法
  • SQL Server數(shù)據(jù)庫入門學習總結
  • SQL Server 2012 安裝圖解教程(附sql2012下載地址)
  • Sql Server 2008完全卸載方法(其他版本類似)
  • SQL Server 在Management Studio中使用Web瀏覽器

標簽:咸寧 海口 臺灣 商洛 日喀則 西藏 公主嶺 寶雞

巨人網(wǎng)絡通訊聲明:本文標題《sql server 關于設置null的一些建議》,本文關鍵詞  sql,server,關于,設置,null,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql server 關于設置null的一些建議》相關的同類信息!
  • 本頁收集關于sql server 關于設置null的一些建議的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 淄博市| 安岳县| 射阳县| 延边| 闽侯县| 安阳县| 孝义市| 信丰县| 肇源县| 长丰县| 武平县| 南郑县| 玛多县| 长治市| 常德市| 旬邑县| 桃园县| 贵定县| 固原市| 大港区| 承德市| 日喀则市| 石阡县| 望谟县| 乌鲁木齐县| 武城县| 怀化市| 财经| 广州市| 凌云县| 吐鲁番市| 石河子市| 高安市| 吉木乃县| 仙游县| 深州市| 蒙自县| 六安市| 双城市| 德兴市| 长治县|