1. char和varchar,以及nchar和nvarchar的區別
1. char和nchar是定長;varchar和nvarchar是變長
2. char和varchar是非unicode資料;nchar和nvarchar是unicode資料
3. char , varchar最多儲存8000個英文,4000個漢字;nchar , nvarchar可以儲存4000個字元,無論英文還是漢字
(所以nchar和nvarchar更適用於儲存多種語言)
2. case表示式
1. case表示式是標量表示式,返回乙個符合條件的值,它不是語句!
2. 其中when子句可以使用標量或返回標量的表示式,也可以使用邏輯表示式
3. 資料庫髒讀
乙個事務a正在讀取訪問資料並修改它,但修改沒有提交,這時另乙個事務b也訪問這個資料,然後使用了這個資料,由於這個資料是還未提交的資料,所以b讀到的就是髒資料。
意思就是更新到一半的資料,或者a在更新時遇到問題,事務回滾了
那麼解決這個問題就是要鎖定資料庫,但是呢,又有了另乙個規範?nolock
4. with(nolock)
在查詢語句後加上with(nolock)來提高查詢的速度,但是nolock執行的時候又不發出共享鎖,意思就是允許髒讀了?
所以到底應該怎樣選擇可能還是要看場景吧,但是我覺得大表的話,還是提高效能更重要,hhhh
5. 資料庫表歸檔
對資料定期的匯出和刪除:
建立乙個新錶,表結構與原表類似
建儲存過程,分批將規定時間段的資料歸檔到新錶中,然後刪除原表中已經歸檔的舊資料
還可以建立事件定期執行儲存過程
總結:
在編寫sql時不僅功能要實現,還要考慮嚴謹,效能是很重要的
T SQL中的知識點
全域性變數 資料型別轉化 分支結構 迴圈語句 批處理指令 go declare 變數名 資料型別 declare name varcher 8 declare seat int賦值的語法如下 set 變數名 值 類似update 寫法和其他賦值語句一樣,將等號後的東西賦值給等號前的變數。或 sele...
前端小知識點 class命名規範
一 命名規則說明 1 所有的命名最好都小寫 2 屬性的值一定要用雙引號 括起來,且一定要有值如class divcss5 id divcss5 3 每個標籤都要有開始和結束,且要有正確的層次,排版有規律工整 4 空元素要有結束的tag或於開始的tag後加上 5 表現與結構完全分離,中不涉及任何的表現...
java 基礎複習 小知識點
2014年6月 11日 星期三 byte s 4 s s 4 編譯失敗 原因 它進行兩步操作,先運算後賦值,s 會被提公升為 int型別,運算的結果還是 int型別無法賦值給 short型別 s 4 編譯成功 原因 它進行一次賦值操作,在給s 賦值自動完成了強轉操作。2 異或 兩邊相同為 false...