この例では、FOR SESSION VOLATILEクエリー バンドを設定します。これにより、このクエリー バンド セットの目的を検証し、FOR SESSION VOLATILEを指定したときにVantageがDBC.SessionTblを更新しないことを示します。こうすることで、FOR SESSIONリクエストのパフォーマンスがFOR TRANSACTIONリクエストのパフォーマンスと同程度に向上します。
SET QUERY_BAND = 'city=laquinta;cat=asta;tree=maple;' FOR SESSION VOLATILE; *** Set QUERY_BAND accepted. *** Total elapsed time was 1 second.
この時点でクエリー バンドは'city=laquinta;cat=asta;tree=maple;'になります。次のプロシージャ呼び出しで、これを示します。
CALL syslib.GetQueryBandSP(qb); *** Procedure has been executed. *** Total elapsed time was 1 second. QueryBand ----------------------------------------------------------------- =S> city=laquinta;cat=asta;tree=maple;
SELECTリクエストは、DBC.SessionTblに行が存在しないことを示します。これは、FOR SESSION VOLATILEを指定したときの目的どおりの結果です。
SELECT queryband FROM DBC.SessionTbl WHERE queryband IS NOT NULL AND CHAR_LENGTH(queryband) > 0; *** Query completed. No rows found. *** Total elapsed time was 1 second.