tuneparamキーワードには、Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。
動作環境の設定項目の中には、tuneparamキーワード、システム用の動作環境ファイル、およびサーバ用の動作環境ファイルで重複して指定できるパラメタがあります。優先順位は以下のとおりです。
参考
データベース簡単運用の場合には、Symfoware Severのインストール時に、システム用の動作環境として最適な環境が設定されるため、チューニングの必要がありません。よって、システム用の動作環境ファイルは、作成不要です。
tuneparamキーワードへの実行パラメタの指定形式と、使用可能な実行パラメタ一覧を説明します。
tuneparamの指定方法には、以下の2つの方法があります。
DbConnectionまたはSymfowareConnectionのConnectionStringプロパティで指定します。
tuneparam='<param>' <param>...tuneparamキーワードに指定する実行パラメタ
接続文字列ビルダ(DbConnectionStringBuilderまたはSymfowareConnectionStringBuilder)で指定します。
connStrBuilder["tuneparam"] = "<param>"; connStrBuilder 接続文字列ビルダオブジェクト <param>...tuneparamキーワードに指定する実行パラメタ
記述例
MAX_SQLとWAIT_TIMEを指定した場合
DbConnectionまたはSymfowareConnectionのConnectionStringプロパティで指定
tuneparam='MAX_SQL=(255);WAIT_TIME=(30)'
接続文字列ビルダで指定
connStrBuilder["tuneparam"] = "MAX_SQL=(255);WAIT_TIME=(30) ";
注意
tuneparamキーワードに複数の実行パラメタを指定する場合、値を“;”(セミコロン)で区切って設定します。
Symfoware .NET Data Providerを利用するアプリケーションから指定可能な実行パラメタは以下のとおりです。
分類 | 実行パラメタ | 概要 | 優先順位 | ||
---|---|---|---|---|---|
1 | 2 | 3 | |||
SV | tuneparamキーワードで使用可能なパラメタ | SY | |||
通信 | 使用するサーバ用の動作環境ファイル | - | ○ | - | |
TRAN_SPEC | SQLエラー発生時のトランザクション | - | ○ | - | |
TRAN_TIME_LIMIT | 1つのトランザクションの最大使用可能時間 | ○ | ○ | ○ | |
WAIT_TIME | 通信時の待ち時間 | - | ○ | - | |
作業領域など | MAX_SQL | 同時に操作できるオブジェクトの数 | - | ○ | - |
OPL_BUFFER_SIZE | SQL文の実行手順を格納しておくバッファのサイズ | - | ○ | - | |
SORT_MEM_SIZE | 作業用ソート領域として使うメモリサイズ | ○ | ○ | ○ | |
WORK_ALLOC_SPACESIZE | 作業用ソート領域および作業用テーブルとして使うファイルサイズ | ○ | ○ | - | |
WORK_MEM_SIZE | 作業用テーブルとして使うメモリのサイズ | ○ | ○ | ○ | |
WORK_PATH | 作業用テーブルおよび作業用ソート領域のパス | ○ | ○ | ○ | |
データ処理 | CAL_ERROR | 代入処理でオーバフローが起きた場合の処理 | - | ○ | - |
表・インデックス | DEFAULT_DSI_TYPE | 格納構造定義を行わない表を作成する場合、Symfoware/RDBが自動的に生成する表のDSOの格納構造の選択 | - | ○ | ○ |
DEFAULT_INDEX_SIZE | 格納構造定義を行わないインデックスを作成する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など | ○ | ○ | ○ | |
DEFAULT_OBJECT_TABLE_SIZE | 格納構造定義を行わない表を作成する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など | ○ | ○ | ○ | |
DEFAULT_TABLE_SIZE | 格納構造定義を行わない表を作成する場合の表のデータ格納域の初期量、拡張量、ページ長など | ○ | ○ | ○ | |
DSI_EXPAND_POINT | DSIの容量拡張を起動するか否か | ○ | ○ | - | |
INCLUSION_DSI | アプリケーションで使用するDSIを限定する | ○ | ○ | - | |
TEMPORARY_INDEX_SIZE | 一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など | ○ | ○ | ○ | |
TEMPORARY_TABLE_SIZE | 一時表を定義する場合の表のデータ格納域の初期量、拡張量など | ○ | ○ | ○ | |
排他 | ISOLATION_WAIT | 占有待ちの方式 | - | ○ | - |
占有の単位を行とする | - | ○ | ○ | ||
トランザクション | トランザクションアクセスモードの初期値を指定する | - | ○ | ○ | |
独立性水準の初期値を指定する | - | ○ | ○ | ||
デバッグ | ROUTINE_SNAP | ROUTINE_SNAP機能を利用するか否か | - | ○ | - |
アクセスプランおよび性能情報 | アプリケーション単位でアクセスプランを取得するか否かおよびSQL文に対するアドバイスを出力するか否か | - | ○ | - | |
CHOOSE_TID_UNION | WHERE句にブール演算子”OR”、または、行値構成子を指定した場合、TIDユニオンマージのアクセスプランのみを作成するか否か | ○ | ○ | ○ | |
GROUP_COL_COND_MOVE | 導出表を絞り込む探索条件を指定した場合、その探索条件を導出表のWHERE句に移動するか否か | ○ | ○ | ○ | |
IGNORE_INDEX | インデックスを使用しないアクセスプランを選択するか否か | ○ | ○ | - | |
INACTIVE_INDEX_SCAN | 非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否か | ○ | ○ | ○ | |
JOIN_ORDER | 結合表と他の表のジョイン順 | ○ | ○ | ○ | |
JOIN_RULE | ジョインする方法 | ○ | ○ | ○ | |
MAX_SCAN_RANGE | インデックス、クラスタキー、または分割キーの検索範囲の最大数 | ○ | ○ | ○ | |
SAME_COST_JOIN_ORDER | 最適化情報を設定していない場合、ジョイン順をV5以前と同じにするか否か | ○ | ○ | ○ | |
SCAN_KEY_ARITHMETIC_RANGE | 四則演算の検索範囲について、インデックスの範囲検索、または、クラスタキー検索を行うか否か | ○ | ○ | ○ | |
SCAN_KEY_CAST | 探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か | ○ | ○ | ○ | |
SORT_HASHAREA_SIZE | ソート処理がレコードをハッシングして格納するための領域サイズ | ○ | ○ | ○ | |
SQL_TRACE | アプリケーション単位でSQL性能情報を取得するか否か | - | ○ | - | |
SS_RATE | 述語ごとの検索範囲の選択率の値 | ○ | ○ | ○ | |
TID_SORT | インデックス検索と表データ取得のアクセスモデルでTIDソートを利用するか否か | ○ | ○ | ○ | |
TID_UNION | TIDユニオンマージのアクセスモデルを有効にするか否か | ○ | ○ | ○ | |
USQL_LOCK | UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード | ○ | ○ | ○ | |
メッセージ | MSG_LANG | 表示するメッセージの言語種を設定する | - | ○ | - |
リカバリ | RCV_MODE | アプリケーションのリカバリ水準を指定する | - | ○ | - |
予約語とSQL機能 | SQL_LEVEL | アプリケーションの予約語とSQL機能のレベルを設定する | - | ○ | - |
並列クエリ | MAX_PARALLEL | データベースを並列に検索する場合の多重度 | ○ | ○ | ○ |
PARALLEL_SCAN | アプリケーション単位またはコネクション単位にデータベースを並列に検索するか否か | ○ | ○ | - | |
その他 | ARC_FULL | アーカイブログ満杯時にエラー復帰するか否か | - | ○ | ○ |
互換 | TableAdapter機能に関するクラス(SymfowareCommandBuilder、SymfowareDataReader)の動作を指定する | - | ○ | - | |
NUMERIC型またはDECIMAL型のデータを扱うアプリケーションでのデータの小数点部分の扱いを指定する | - | ○ | - |
SV:サーバ用の動作環境ファイルへの指定が可能であるか否かを表します。
SY:システム用の動作環境ファイルへの指定が可能であるか否かを表します。
○:指定可
-:指定不可
注)データベース簡単運用の場合は、指定できません。
参照
以下で説明していない実行パラメタの詳細については、“アプリケーション開発ガイド(埋込みSQL編)”を参照してください。
◆通信に関する実行パラメタ
SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
接続するデータベース名を記述します。
サーバ用の動作環境ファイル名を、絶対パスで指定します。
◆排他に関する実行パラメタ
R_LOCK = ({YES | NO})
本実行パラメタの設定は、“表B.4 tuneparamキーワードで使用可能な実行パラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
R_LOCK = (YES)
占有の単位を行とします。このパラメタを指定した場合、サーバ用の動作環境ファイルにDSO_LOCKを指定することはできません。
占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。
データベース簡単運用の場合、占有の単位は、表またはインデックスとなります。
参照
占有の単位の詳細については、“アプリケーション開発ガイド(共通編)”の“排他制御”を参照してください。
また、データベース簡単運用の場合は、“アプリケーション開発ガイド(共通編)”の“トランザクションと排他制御(データベース簡単運用の場合)”を参照してください。
注意
システム用の動作環境ファイルまたはtuneparamキーワードのR_LOCKがNOの場合、tuneparamキーワードのDEFAULT_ISOLATIONにREPEATABLE_READを指定する、またはSymfowareConnectionクラスのBeginTransactionメソッドのIsolationLevelに“RepeatableRead”を指定しても、独立性水準はSERIALIZABLEになります。
システム用の動作環境ファイルまたはtuneparamキーワードのR_LOCKがYESの場合、tuneparamキーワードのDEFAULT_ISOLATIONにSERIALIZABLEを指定する、またはSymfowareConnectionクラスのBeginTransactionメソッドのIsolationLevelに“Serializable”を指定しても、独立性水準はREPEATABLE READになります。
データベース簡単運用でない場合、システム用の動作環境ファイルのR_LOCKがNOまたはtuneparamキーワードのR_LOCKがNOのときには、DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表にアクセスするアプリケーションの占有の単位はDSIになります。
◆トランザクションに関する実行パラメタ
DEFAULT_ACCESS_MODE = ({READ_ONLY | READ_WRITE})
トランザクションアクセスモードの初期値を指定します。DEFAULT_ACCESS_MODEが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。
本実行パラメタの設定は、“表B.4 tuneparamキーワードで使用可能な実行パラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_ACCESS_MODE = (READ_WRITE)
注意
サーバ用の動作環境ファイルのDSO_LOCKを指定して、DEFAULT_ACCESS_MODEを指定した場合は、サーバ接続時にエラーが発生します。データベース簡単運用の場合、サーバ用の動作環境ファイルでDSO_LOCKの指定はできません。
トランザクションアクセスモードの初期値をREAD ONLYとします。
トランザクションアクセスモードの初期値をREAD WRITEとします。
DEFAULT_ISOLATION = ({DEFAULT | READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE})
独立性水準の初期値を指定します。DEFAULT_ISOLATIONが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。
本実行パラメタの設定は、“表B.4 tuneparamキーワードで使用可能な実行パラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_ISOLATION = (DEFAULT)
データベース簡単運用で、本実行パラメタの指定を省略した場合は、省略値として以下の値が設定されます。
DEFAULT_ISOLATION = (READ COMMITTED)
独立性水準の初期値はシステム用の動作環境ファイルにおけるDEFAULT_ISOLATIONの指定に従います。
tuneparamキーワードのDEFAULT_ISOLATIONにDEFAULTを指定し、かつ、システム用動作環境ファイルのDEFAULT_ISOLATIONの値を指定していない場合、独立性水準の初期値は、READ_UNCOMMITTEDとなります。
独立性水準の初期値をREAD UNCOMMITTEDとします。
独立性水準の初期値をREAD COMMITTEDとします。
独立性水準の初期値をREPEATABLE READとします。
独立性水準の初期値をSERIALIZABLEとします。
注意
システム用の動作環境ファイルまたはtuneparamキーワードのR_LOCKがNOの場合、DEFAULT_ISOLATIONにREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。
システム用の動作環境ファイルまたはtuneparamキーワードのR_LOCKがYESの場合、DEFAULT_ISOLATIONにSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。
◆アクセスプランに関する実行パラメタ
ACCESS_PLAN = ({ON | OFF},ファイル名[,[出力レベル][,[SQLアドバイザ出力レベル]]])
アプリケーション単位でアクセスプランを取得するかどうかを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
ACCESS_PLAN = (OFF)
参照
アクセスプランについては、“アプリケーション開発ガイド(共通編)”の“アクセスプラン”を参照してください。
アクセスプラン取得機能を利用する場合に指定します。
アクセスプラン取得機能を利用しない場合に指定します。
出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
また、指定するパスが存在することと、CONNECT文で指定したユーザIDに対する書込み権があることを確認してください。
出力レベルには1または2を指定します。1を指定すると、アクセスプランのセクション情報のみを出力します。2を指定すると、セクション内の各エレメント詳細情報も出力します。省略した場合は、2が指定されたものとみなします。
SQLアドバイザ出力レベルには、“ADVICE”または“NOADVICE”を指定します。“ADVICE”を指定すると、SQL文に対するアドバイスを出力します。“NOADVICE”を指定すると、SQL文に対するアドバイスを出力しません。省略した場合は、“ADVICE”が指定されたものとみなします。
◆互換に関する実行パラメタ
TableAdapterCompatible = ({ON | OFF})
TableAdapter機能に関するクラス(SymfowareCommandBuilder、SymfowareDataReader)の動作を指定します
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
TableAdapterCompatible = (OFF)
TableAdapter機能に関するクラス(SymfowareCommandBuilder、SymfowareDataReader)は、V10.1.0以前の仕様で動作します。
TableAdapter機能に関するクラス(SymfowareCommandBuilder、SymfowareDataReader)は、V10.1.1以降の仕様で動作します。MSDNと同様の動作となります。
それぞれの値を指定した場合の動作の違いを説明します。
属性名 | V10.1.1以降 | V10.1.0以前 |
---|---|---|
CatalogLocation | 既定値は、CatalogLocation.Endです。 | 既定値は、CatalogLocation. Startです。 |
CatalogSeparator | 既定値は、句点(.)です。 | 既定値は、句点(.)です。 |
DataAdapter | ベースクラスのDataAdapterプロパティは、SymfowareCommandBuilderと一致します。 | ベースクラスのDataAdapterプロパティは、SymfowareCommandBuilderと一致しません。 |
QuotePrefix | 既定値は、二重引用符(“)です。 | 既定値は、空文字列です。 |
QuoteSuffix | 既定値は、二重引用符(“)です。 | 既定値は、空文字列です。 |
SchemaSeparator | 既定値は、句点(.)です。 | 既定値は、句点(.)です。 |
メソッド | V10.1.1以降 | V10.1.0以前 |
---|---|---|
Dispose(bool) | ベースクラスとSymfowareCommandBuilderに関するリソースを両方とも解放します。 | SymfowareCommandBuilderに関するリソースのみを解放します。 |
GetDeleteCommand() |
|
|
GetInsertCommand() | 作成したSymfowareCommandオブジェクトのParameterCollection中のParameter名の形式は“P”で始まる文字列定数となります。 | 作成したSymfowareCommandオブジェクトのParameterCollection中のParameter名の形式は“param_”で始まる文字列定数となります。 |
GetUpdateCommand() |
|
|
RefreshSchema() | ベースクラスとSymfowareCommandBuilderと関連するコマンドについての情報を削除します。 | SymfowareCommandBuilderと関連するコマンドを削除します。 |
フィールド | V10.1.1以降 | V10.1.0以前 |
---|---|---|
BaseServerName | BNull.Value | String.Empty |
ColumnOrdinal | 0から番号を振ります。 | 1から番号を振ります。 |
ProviderType | データ型は枚挙型、枚挙名 | データ型はSystem.String |
NumericPrecision |
|
|
NumericScale |
|
|
BaseCatalogName | DBNull.Value | 現在接続中のデータベース名 |
DecimalConvertCompatible = ({ON | OFF})
NUMERIC型またはDECIMAL型のデータを扱うアプリケーションで、データの小数点以下の桁数が、位取りに指定した桁数よりも小さい場合の動作を指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
DecimalConvertCompatible = (OFF)
NUMERIC型またはDECIMAL型のデータを扱うアプリケーションで、データの小数点以下の桁数が、位取りに指定した桁数よりも小さい場合に、0を付加しないで、アプリケーションに返却します。
V10.1.1以前と同様の動作となります。
NUMERIC型またはDECIMAL型のデータを扱うアプリケーションで、データの小数点以下の桁数が、位取りに指定した桁数よりも小さい場合に、0を付加します。
例
DECIMAL(12,6)で定義された列に、“123.456”のデータを格納した場合のデータ参照結果
DecimalConvertCompatibleがONの場合:123.456
DecimalConvertCompatibleがOFFの場合:123.456000