sqlserver2008的sql語句支持的最大長度


想寫一個sql語句,很長,主要是in后跟着無數個用戶ID,(雖然實現方式很低級,但是還是湊合着用吧)

不知道sql最大長度是多少,看了 SQL Server 的最大容量規范,寫的是

包含 SQL 語句的字符串的長度(批大小)的最大大小/數量:65,536 * 網絡數據包大小

網絡數據包大小是啥東東?你就不能明說最大長度嗎是幾嗎? 微軟,你就欺負我不懂TCP吧!

好吧,你不說,我自己測試。

寫了一個字符串函數,形成 N個Guid字符串(相當於N*32長度),

然后用select * from table where id in (字符) 執行

1萬個Guid字符串,在查詢分析器通過,OK,看來支持32萬長度(320K)

再加個數量級到10萬個,也OK!支持3.2M長度

在加個數量級到100萬個,也OK!!支持32M長度,不過太慢了,sql執行了5分鍾才返回結果

在加個數量級到1000萬個,也OK!!!支持320M長度,用了1小時3分鍾才返回結果

沒有時間,也沒有必要做進一步測試了,

反正如果sql采用In('guid','guid','guid')結構,則至少支持長度guid的個數為1000萬個,總字符長度為3.2億,320M

結論是你就放心用吧,你這一輩子恐怕是遇不到超出32000萬字節長度的sql語句了!

 


免責聲明!

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



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