使用context_info傳遞上下文信息禁用會話級觸發(fā)器
摘要: 如何在會話級別禁用觸發(fā)器是個問題,因為sql server并沒有提供一個管理手段可以在會話級禁用觸發(fā)器,它只提供alter table 表名 disable trigger 觸發(fā)器名 類似這種,而這種方法一旦執(zhí)行,那如果在同一時間的其他過程,也不會執(zhí)行觸發(fā)器。但是我們可以巧妙繞道使用 context_info 來讓觸發(fā)器支持會話級別的禁用。新建觸發(fā)器[代碼]如果要在會話級禁用觸發(fā)器,只需...
閱讀全文
關(guān)于防止sql注入的幾種手段(三)
摘要: 上一篇引起不少爭議,也是自己沒有一次性寫完。上回說到鄒健大哥的存儲過程有漏洞, 有人又提出這個很多都是程序員加上去的,壓根就不可能注入,的確,有很多拼湊sql的時候是程序里面加上去的,不是來自外界的“直接”輸入。我上次的演示例子是基于的最后的排序,那如果要是在where 條件里面呢?能保證100%都不是來自外界的輸入嗎?另外,軟件的分層開發(fā),很多程序員的水平參差不齊,能保證...
閱讀全文
關(guān)于防止sql注入的幾種手段(二)
摘要: 其實特別不愿意說sql注入的問題,因為這的確是個老掉牙的問題了,但是仍然還有不少人在這方面自以為安全性做得很到位,或者說萬事只要存儲過程就可以防止注入,即全都參數(shù)化,這樣對于某些復(fù)雜邏輯來說,sql存儲過程寫法太過于冗長,不如在C#拼湊sql,也有很多人鄙視拼湊sql的人,我覺得,看待 sql注入這個問題,應(yīng)該是從本質(zhì)上來杜絕注入,而不是想當(dāng)然的依靠存儲過程,拒絕拼湊sql。我說一下我自己的經(jīng)驗吧
閱讀全文
關(guān)于防止sql注入的幾種手段(一)
摘要: 其實特別不愿意說sql注入的問題,因為這的確是個老掉牙的問題了,但是仍然還有不少人在這方面自以為安全性做得很到位,或者說萬事只要存儲過程就可以防止注入,即全都參數(shù)化,這樣對于某些復(fù)雜邏輯來說,sql存儲過程寫法太過于冗長,不如在C#拼湊sql,也有很多人鄙視拼湊sql的人,我覺得,看待sql注入這個問題,應(yīng)該是從本質(zhì)上來杜絕注入,而不是想當(dāng)然的依靠存儲過程,拒絕拼湊sql。我說一下我自己的經(jīng)驗吧一...
閱讀全文
sql server中的hash應(yīng)用優(yōu)化
摘要: sql server很多地方用到hash,計劃緩存查找,hash連接,hash聚合等。hash查找mssql很多設(shè)計中都應(yīng)用了,不過我們能在開發(fā)設(shè)計中,也可以利用這個特性。將如果有需求對大文本進行完全匹配,比如查找產(chǎn)品型號(較長字符串),那么可以建立一個產(chǎn)品型號的hash字段,然后在hash字段上進行查找,不過最重要的是如果匹配成功,還不要忘記在where上再加一個條件,就是原始產(chǎn)品型號字段的一致...
閱讀全文
請謹(jǐn)慎使用sp_executesql
摘要: 前一段時間,給一位朋友公司做咨詢,看到他們的很多的存儲過程都存在動態(tài)sql語句執(zhí)行,sp_executesql,即使在沒有動態(tài)表名,動態(tài)字段名的情況下仍然使用sp_executesql,這個做法是不太明智的,會存在一些性能方面的問題。先說說什么場景使用這個系統(tǒng)存儲過程吧,sp_executesql,是sql server動態(tài)執(zhí)行一段可以帶有參數(shù)(內(nèi)參,外參)的語句文本的系統(tǒng)存儲過程,傳入sp_ex...
閱讀全文
GUID和INT自增做主鍵的測試
摘要: 測試機器:dell2850,2cpu,2G內(nèi)存,數(shù)據(jù)庫為簡單模式,避免日志記錄影響(不過似乎一般的應(yīng)用場景都是完整模式)Int自增表[代碼]GUID表[代碼]順序GUID表[代碼]測試插入的腳本:[代碼]Int表插入1w條記錄是61626微妙,61560微妙,兩次測試結(jié)果相差不大。GUID表插入1w條記錄是63156微妙,62436微妙。基于上兩次測試沒有測試OGUID表了。每次測試均trunca...
閱讀全文
關(guān)于侯壘的自增字段和GUID字段性能對比文章的一些自己的分析(沒有測試,純粹分析)
摘要: 一上午都在忙著面試,閑暇看到侯壘的文章,http://www.cnblogs.com/houleixx/archive/2009/07/29/SQL-id-guid.html,我覺得他為一個很小的細節(jié)作出這么多的測試,實在是佩服,但是基于我自己的一些知識,可能有些東西不是很認(rèn)可。mssql的int自增是4字節(jié),GUID是4個4字節(jié),根據(jù)mac地址產(chǎn)生分有序列和無序列,有序列即產(chǎn)生的GUID自增,無...
閱讀全文
MSSQL優(yōu)化教程之1.4 其他幾種類型的頁面
摘要: 上一次只是講了講普通數(shù)據(jù)頁面,后來自己回想一下,應(yīng)該跟大家講講其他類型的頁面,作為一個知識體系貫穿起來。 再長嘆一聲,我的兄弟因傷退賽,唉,真是可惜了..................
閱讀全文
MSSQL優(yōu)化之 1.3 存儲架構(gòu)之 頁
摘要: SQL Server中的頁是最基本的數(shù)據(jù)單位組成,他有8KB,也就是8192個字節(jié)(mssql7.0以前是一個頁面2KB),而sql server的一個頁面,由頁頭,數(shù)據(jù)行,和slot table組成(行偏移的位置的記錄數(shù)組。本文將詳細介紹頁的構(gòu)成。
閱讀全文
MSSQL優(yōu)化之 1.1 存儲架構(gòu)之文件和文件組
摘要: 本篇文章將由粗到細,講解數(shù)據(jù)庫的物理組成結(jié)構(gòu)。有些東西可能是廢話或是摘抄自BOL,等權(quán)威文章,但是作為一個知識體系結(jié)構(gòu),還是需要啰嗦一下。還包括了一些性能優(yōu)化方面的知識。?
閱讀全文
sql server數(shù)據(jù)庫優(yōu)化教程系列--開篇
摘要: 終于決定自己動手寫一個了,以前一直是在看別人的文章,也是因為自己的文筆不好,另外也是怕自己被人噴,但是還是鼓足勇氣自己寫上一個優(yōu)化系列吧,算是對我這些日子對SQl Server數(shù)據(jù)庫優(yōu)化工作的一個總結(jié)。
閱讀全文
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
