<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冷面閻羅

    低調做人&&高調做事
    隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
    數據加載中……

    Char 和 Varchar 比較

    具考證:在字符長度一定時CHAR的性能比VARCHAR好,而在長度不確定時,CHAR類型的字段在使用時性能略差。這個在sqlServer數據庫下面能夠體現,并且這個字段是經常使用的。

    區別:
    1.CHAR的長度是固 定的,而VARCHAR2的長度是可以變化的, 比如,存儲字符串“abc",對于CHAR (20),表示你存儲的字符將占20個字節(包括17個空字符),而同樣的VARCHAR2 (20)則只占用3個字節的長度,20只是最大值,當你存儲的字符小于20時,按實際長度存儲。由于char是以固定長度的,所以它的速度會比 varchar快得多!但程序處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉! 
    2.CHAR的效率比VARCHAR2的效率稍高。
    3.目前VARCHAR是VARCHAR2的同義詞。工業標準的VARCHAR類型可以存儲空字符串,但是oracle不這樣做,盡管它保留以后這樣做的權利。Oracle自己開發了一個數據類型VARCHAR2,這個類型不是一個標準的VARCHAR,它將在數據庫中varchar列可以存儲空字符串的特性改為存儲NULL值。如果你想有向后兼容的能力,Oracle建議使用VARCHAR2而不是VARCHAR。 
     
    何時該用CHAR,何時該用varchar2?
    CHAR與VARCHAR2是一對矛盾的統一體,兩者是互補的關系.
    VARCHAR2比CHAR節省空間,在效率上比CHAR會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在數據庫設計上常說的‘以空間換效率’。
    VARCHAR2 雖然比CHAR節省空間,但是如果一個VARCHAR2列經常被修改,而且每次被修改的數據的長度不同,這會引起‘行遷移’(Row Migration)現象,而這造成多余的I/O,是數據庫設計和調整中要盡力避免的,在這種情況下用CHAR代替VARCHAR2會更好一些。

    posted on 2007-06-07 12:51 冷面閻羅 閱讀(2016) 評論(2)  編輯  收藏 所屬分類: 數據庫

    評論

    # re: Char 和 Varchar 比較 [未登錄]  回復  更多評論   

    很有幫助,謝謝
    2007-06-25 09:34 | cc

    # re: Char 和 Varchar 比較   回復  更多評論   

    介紹的蠻詳細轉貼下啊!
    2008-01-12 15:59 |
    主站蜘蛛池模板: 亚洲综合精品成人| 777成影片免费观看| 亚洲一级黄色大片| 在线观看免费亚洲| **实干一级毛片aa免费| 四虎影视永久免费观看网址| 亚洲国产情侣一区二区三区| 中文字幕免费在线| 久久精品亚洲AV久久久无码| 99久热只有精品视频免费观看17| 久久青草亚洲AV无码麻豆| 日韩免费电影网址| 亚洲国产精品综合福利专区| 久久国内免费视频| 曰批全过程免费视频免费看 | 日本免费在线中文字幕| 日韩免费在线中文字幕| 亚洲成a人无码亚洲成www牛牛| 亚洲的天堂av无码| 久久精品国产亚洲精品2020| 亚洲AV日韩AV天堂一区二区三区 | eeuss免费天堂影院| 国产成人va亚洲电影| 亚洲成av人片天堂网无码】| 国产亚洲福利在线视频| 亚洲精品国产国语| 亚洲色在线无码国产精品不卡| 日韩亚洲不卡在线视频中文字幕在线观看| 亚洲美女中文字幕| 亚洲欧洲国产精品久久| 亚洲制服丝袜一区二区三区| 亚洲成a人片77777群色| 亚洲专区中文字幕| 国产午夜亚洲精品国产| 亚洲国产av玩弄放荡人妇| 亚洲看片无码在线视频| 国产精品久久香蕉免费播放| 亚洲国产人成网站在线电影动漫| 国产亚洲av片在线观看16女人 | 免费在线观看亚洲| 成人免费网站久久久|