複数の接続で同じコマンドを実行する場合、それらの接続は、1つのコマンド・ロックによって制御される共通のコマンド構造にアクセスします。コマンドの共有およびロックへの競合を回避するには、PrivateCommandsを使用します。これにより、一時領域の使用は増加しますが、スケールは改善されます。
デフォルトではPrivateCommandsは無効で、コマンドは共有されます。
PrivateCommandsは次のように設定します。
同じコマンドのコピーが多数ある場合、それらのコピーはすべて、DDLまたは統計変更によって無効にされます。このため、PrivateCommands = 1の場合、それらの複数のコピーを再度準備するには時間がかかります。コマンドが多い場合、DDLの実行にはやや長い時間がかかります。
PrivateCommands属性を使用する場合は、注意深く使用しないとメモリー消費が大幅に増大する可能性があります。たとえば、100のコマンドで100の接続があるアプリケーションでPrivateCommands=1を設定した場合、システムには10,000のコマンド、つまり各接続で1つの専用コマンドが存在します。