ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIリファレンス・ガイド
リリース7.0
E05170-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttSize

説明

このプロシージャによって、表またはビューのサイズが推定されます。表の推定バイト数が単一のDOUBLE列を持つ単一行として返されます。表は、表名または完全修飾された表名のいずれかとして指定できます。nrowsパラメータがNULL以外の場合、現在の表の統計が指定した行数まで拡大したものと想定して表のサイズが推定されます。nrowsパラメータがNULLの場合、表のサイズは現在の行数を使用して推定されます。

現在の表のコンテンツをスキャンして、VARBINARYおよびVARCHAR列の平均サイズが判断されます。表が空の場合、VARBINARY列とVARCHAR列の平均サイズは、宣言されている最大サイズの半分になるように推定されます。ttSizeによって計算される推定値には、表、VARBINARY列とVARCHAR列、およびその表に定義された索引の記憶域が含まれます。

この組込みプロシージャをコールすると表がスキャンされます。NULL以外のfrac(0と1の間)を指定することによって、表のスキャンを回避できます。この値を使用して、可変長列の平均サイズを推定します。fracを各可変長列の最大サイズに掛けて、VARBINARY列またはVARCHAR列の推定平均サイズを計算します。fracパラメータを指定しないと、表内の既存の行がスキャンされ、既存の行における可変長列の平均長が使用されます。fracを省略した場合、表に行が存在しないと、fracの値は0.5であると想定されます。

アクセス制御

アクセス制御がTimesTenのインスタンスに対して有効である場合、このプロシージャにはSELECT権限が必要です。

構文

ttSize('tblName', nRows, frac)

パラメータ

ttSizeには、次のパラメータがあります。

パラメータ
データ型
説明
tblName
TT_Char(61)
NOT NULL
アプリケーション表の名前。所有者を含めることができます。このパラメータは必須です。
nRows
TT_INTEGER
推定する表内の行数。このパラメータはオプションです。
frac
BINARY_DOUBLE
VARBINARY列またはVARCHAR列のサイズの推定される平均端数。このパラメータはオプションです。

結果セット

ttSizeは次の結果セットを返します。

データ型
説明
size
BINARY_DOUBLE
NOT NULL
表の推定サイズ(バイト)

CALL ttSize('ACCTS', 1000000, NULL);

CALL ttSize('ACCTS', 30000, 0.8);

CALL ttSize('SALES.FORECAST', NULL, NULL);

ttSizeを使用する場合、コマンドを実行した後、結果をフェッチする必要があります。次に例を示します。

ODBC

double size;

SQLLEN len; 
 
rc = SQLExecDirect(hstmt, "call ttSize('SalesData', 250000,
0.75)", SQL_NTS); 
rc = SQLBindColumn(hstmt, 1, SQL_C_DOUBLE, &size, sizeof double,
&len); 
rc = SQLFetch(hstmt); 
rc = SQLFreeStmt(hstmt, SQL_CLOSE); 

JDBC

. . . . . . 
String URL="jdbc:timesten:MyDataStore"; 
Connection con; 
double tblSize=0; 
. . . . . . 
con = DriverManager.getConnection(URL); 
CallableStatement cStmt = con.prepareCall("
{CALL ttSize('SalesData', 250000, 0.75) }"); 
if( cStmt.execute() )  
    { 
      rs=cStmt.getResultSet(); 
      if (rs.next()) { 
        tblSize=rs.getDouble(1); 
      } 
      rs.close(); 
    } 
cStmt.close(); 
con.close(); 
 
. . . . . . 

注意

ttSizeプロシージャを使用すると、行が完全にロードされたときに表がどの程度大きくなるかを、少量のサンプルをもとに推定できます。最適な結果を得るには、1,000以上の典型的な行を表にロードすることをお薦めします。