2010年4月21日水曜日

[他]SQLServerの最大容量仕様

以前SQLServer2000の時代、ADO.NETから長いSQL(whereのin条件をたくさん書いている)を実行し、8000byte付近を越えるとエラーになって困っている人がいました。
それを聞いたとき、「そんなSQLって...。作りがおかしい」と思っていました。それは今も変わりません。

アレから、数年たちました。SQLServerも2008にバージョンがあがりました。で先日「はて、今はどれくらいの長さのSQLが投げれるんだろ?」とおもい調べてみました。
調べてみるとSQL Server の最大容量仕様のバッチ サイズがソレにあたります。「65,535*パケットサイズ」って書いてあるんですが、パケットサイズは標準で4KBなので、262,140KBまでいける?ってことでしょうか。
・・・何か勘違いしている気が。。。

とはいえ、INSERTをバッチクエリで処理したい場合、相当長い文が投げれることになります。
パフォーマンス的には効果が出そうですね。

0 件のコメント: