Sql語句varchar或nvarchar字段條件前加N的性能差異


Sql語句varchar或nvarchar字段條件前加N的話是對這個字段進行Unicode編碼,

這樣做的目的是避免在這種字段中存入俄文、韓文、日文的情況下有可能會出現亂碼。

但這樣做也會有性能問題,舉例如下:

 

SELECT * FROM UserInfo WHERE Name = N'taiyonghai'

查詢時會解析器會認為【人為因素優先】,你加了N他會理解為你希望用編碼后的結果作對比,

所以會先對數據表中的Name字段的【所有數據進行Unicode編碼】,再進行對比

 

SELECT * FROM UserInfo WHERE Name = 'taiyonghai'

查詢的檢索時會,直接進行對比

 

故查詢的時間天壤之別!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM