Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere 11 - 変更点とアップグレード » バージョン 9.0.0 の新機能 » バージョン 9.0.0 の新機能

 

Adaptive Server Anywhere の新機能

この項では、Adaptive Server Anywhere バージョン 9.0.0 の新機能について説明します。新機能について主要なものからそうでないものまですべてを示し、各機能の詳細についての参照先も記述しています。

新機能のハイライト
  • XML のサポート   Adaptive Server Anywhere 9.0.0 では、XML ドキュメントの保存、リレーショナル・データを XML としてエクスポート、XML のインポート、リレーショナル・データのクエリから XML を返すなど、XML を広範囲にわたってサポートします。

    • FOR XML 句   RAW、AUTO、EXPLICIT の 3 つのモードで SELECT 文に FOR XML 句を指定できるようになり、XML ドキュメントのクエリ結果を得ることができます。各モードでは、生成される XML の形式をそれぞれ異なるレベルで制御できます。

      クエリ結果を XML として取得するSELECT 文を参照してください。

    • for_xml_null_treatment オプション   for_xml_null_treatment オプションを使用すると、FOR XML 句を含むクエリからの NULL 値の返し方を制御できます。

      for_xml_null_treatment オプション [データベース]を参照してください。

    • openxml プロシージャ   openxml システム・プロシージャを参照してください。

    • SQL/XML のサポート   SQL/XML は、SQL と XML を組み合わせて使用する場合の仕様を記述した規格草案です。SQL/XML サポートの一部として、Adaptive Server Anywhere は、XML ドキュメントをデータベースに保存できる XML データ型を備えています。

      XML データ型を参照してください。

      Adaptive Server Anywhere では、リレーショナル・データから XML ドキュメントを生成する手段として、FOR XML 句のほかに次の SQL/XML 関数もサポートしています。

      • XMLAGG 関数   この集合関数は、XML 要素のコレクションから XML 要素のフォレストを生成します。

        XMLAGG 関数 [集合]を参照してください。

      • XMLCONCAT 関数   この関数は、渡された XML 値を連結して XML 要素のフォレストを生成します。

        XMLCONCAT 関数 [文字列]を参照してください。

      • XMLELEMENT 関数   この関数は XML 要素を生成します。必要に応じて、要素の内容、属性、属性の内容を指定できます。

        XMLELEMENT 関数 [文字列]を参照してください。

      • XMLFOREST 関数   この関数は、XML 要素のフォレストを生成します。

        XMLFOREST 関数 [文字列]を参照してください。

      • XMLGEN 関数   この関数は、XQuery コンストラクタに基づいて XML 値を生成します。

        XMLGEN 関数 [文字列]を参照してください。

  • データベース内の HTTP サーバ   Adaptive Server Anywhere データベース・サーバが Web サーバとして動作できるようになりました。このため、Adaptive Server Anywhere データベースと任意の Web ブラウザだけを使用して、Web ベースのアプリケーションを作成し、実行できます。

    この機能によって、データベース・サーバは、標準の SOAP 要求に加えて、標準の HTTP 要求と HTTPS 要求も処理します。使用できるサービス・タイプは、HTTP、HTTPS、XML、RAW、SOAP、DISH です。DISH は SOAP サービスのハンドラです。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、アップグレード・ユーティリティを使用してデータベースをアップグレードする必要があります。

    SQL Anywhere Web サービスを参照してください。

  • インデックス・コンサルタント   インデックス・コンサルタントは、適切なインデックス選択を支援するためのツールです。単一のクエリまたは操作のセットを分析して、データベースに追加するインデックスや削除するインデックスを推奨します。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、アップグレード・ユーティリティを使用してデータベースをアップグレードする必要があります。

    インデックス・コンサルタントを参照してください。

  • 64 ビット・バージョンが使用できる   Itanium II チップ搭載の Windows Server 2003 では、ソフトウェアの 64 ビット通常版を使用できます。64 ビットの Linux と HP-UX オペレーティング・システムでは、クライアント/サーバ限定版を使用できます。

SQL の強化
  • 選択の前に WITH 句で共通テーブル式を指定できる   共通テーブル式は、SELECT 文のスコープにのみ存在するテンポラリなビュー定義です。再帰的または非再帰的です。共通テーブル式を使用すると、より簡潔にクエリを記述できる場合があります。また、1 つのクエリの中で複数レベルの集合を実行できます。共通テーブル式を使用できるのは、トップレベルの SELECT 文、ビュー定義内のトップレベルの SELECT 文、または INSERT 文内のトップレベルの文の中だけです。

    共通テーブル式を参照してください。

  • 特殊な形式の共通テーブル式を使用して再帰ユニオンを実行できる   再帰的な共通テーブル式によって、再帰クエリを記述できます。階層的なデータ構造や有向グラフを表すテーブルに対してクエリを実行する場合に、この機能は特に効果的です。どの再帰共通テーブル式も、最初に実行される初期サブクエリと、再帰サブクエリを含みます。再帰サブクエリの FROM 句に指定する必要があるビューへの参照は、前の反復処理でビューに追加されたローを参照します。クエリを実行するデータ構造が何層にもわたる場合は特に、再帰処理を停止する条件の指定に注意してください。

    再帰共通テーブル式を参照してください。

  • INTERSECT 文と EXCEPT 文のサポート   これらの文では、複数の結果セットの共通部分と差異が計算されます。これは、UNION 文を補うものです。

    詳細については、次の項を参照してください。

  • SELECT 文にストアド・プロシージャの結果セットを指定できる   SELECT 文の中で、ベース・テーブルやビューを指定できる位置に、ストアド・プロシージャ・コールを指定できるようになりました。

    ストアド・プロシージャ・コールの統計情報を保存する場合は、アップグレード・ユーティリティを使用してデータベースをアップグレードする必要があります。統計情報がない場合、ストアド・プロシージャ・コールの結果をジョインしようとしても、適切なプランが得られない可能性があります。

    FROM 句を参照してください。

  • オンライン分析処理機能の追加   使用可能な SQL 言語に、さまざまな OLAP 機能が追加されました。

    • ROLLUP 演算   クエリに GROUP BY 句が指定されている場合、ROLLUP 演算によって結果セットに小計のローが追加されます。各小計ローには、GROUP BY の結果セットに含まれるロー・セットの合計が示されます。

      ROLLUP の使用を参照してください。

    • LIST 関数で順序付きのリストを使用できる   LIST 関数の機能が拡張されて、ソートされた項目のリストを出力できるようになりました。

      LIST 関数 [集合]を参照してください。

    • その他の集合関数   標本ベースと母集団ベースの標準偏差と分散を計算する関数が追加されました。

      集合関数を参照してください。

  • CREATE INDEX 文で組み込み関数のインデックスを作成できる   この機能は、テーブルに新しい計算カラムを追加し、そのカラムのインデックスを作成できる便利な方法です。

    CREATE INDEX 文インデックスの作成を参照してください。

  • すべてのコンテキストで ORDER BY 句を使用できる   以前のリリースでは、ビュー定義、サブクエリ、または UNION 文内の多くの SELECT 文では ORDER BY 句を使用できませんでしたが、その制限が取り除かれました。

    SELECT 文に ORDER BY 句を指定すると、FIRST 句や TOP 句と一緒に使用する場合などは特に、ビュー定義や集合演算の結果が影響を受けることがあります。それ以外のコンテキストでは、ORDER BY 句を指定しても、オペレーションに違いは生じません。

  • SELECT 文の TOP 句に START AT を指定できる    START AT を指定すると、結果セットを明示的に制限するクエリの中で、さらに柔軟性を高めることができます。

    SELECT 文を参照してください。

  • 制約に名前を指定できる   検査制約、一意性制約、参照整合性制約に、名前を指定できるようになりました。このため、テーブル全体の制約を変更するのではなく、個々の制約を変更することで、テーブルやカラムの制約を変更できます。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、データベースをアンロードして再ロードすることによってそのデータベースのファイル・フォーマットをアップグレードする必要があります。

    ALTER TABLE 文CREATE TABLE 文テーブル制約とカラム制約の使い方を参照してください。

  • FROM 句の中でラテラル派生テーブルによる外部参照が可能   FROM 句の中で、派生テーブルとストアド・プロシージャからの外部参照を指定できるようになりました。外部参照の実行を指定するには、LATERAL キーワードを使用します。

    FROM 句を参照してください。

  • EXECUTE IMMEDIATE 文でエスケープ文字を柔軟に処理できる   新しい WITH ESCAPES OFF オプションを使用すると、エスケープ文字の処理を抑制できます。この機能によって、ファイル・パスを含む動的な文を簡単に作成できるようになります。

    EXECUTE IMMEDIATE 文 [SP]を参照してください。

  • EXECUTE IMMEDIATE 文が結果セットを返すクエリをサポートする   この機能によって、ストアド・プロシージャの中で、より動的に文を作成できるようになりました。

    プロシージャでの EXECUTE IMMEDIATE 文の使用EXECUTE IMMEDIATE 文 [SP]を参照してください。

  • CREATE FUNCTION 文と ALTER FUNCTION 文で Transact-SQL 構文を使用できる   Transact-SQL 構文を使用して、呼び出し元の環境へスカラ値を返すユーザ定義関数を定義できるようになりました。

    CREATE FUNCTION 文 [Web サービス]を参照してください。

  • 複数のローの挿入時にオートインクリメント・カラムの値を使用できる   value-sensitive (キーセット駆動型) カーソルを使用してローを挿入する場合、新しく挿入されたローはカーソル結果セットの最後に表示されます。

    このため、直前に挿入されたローのオートインクリメント・カラムの値は、カーソル内の最後の行を選択することによって確認できます。たとえば、Embedded SQL の場合、FETCH ABSOLUTE -1 cursor-name を使用することで値を取得できます。

    カーソルによるローの変更を参照してください。

  • リモート・データ・アクセスで UUID/GUID カラムを処理できる   リモート・データ・アクセスで、Microsoft SQL Server のユニーク識別子カラムを管理できるようになりました。

    データ型変換:Microsoft SQL ServerUNIQUEIDENTIFIERSTR データ型を参照してください。

  • リモート・データ・アクセスでリモート接続に名前を指定できる   ODBC を介してのリモート・データ・アクセス接続に名前を指定できるようになりました。このため、特定の接続を切断することができます。

    ODBC を使用したリモート・データ・アクセスの接続の管理を参照してください。

  • 式のデータ型を返す新しい関数の追加   EXPRTYPE 関数は、式のデータ型を返します。

    EXPRTYPE 関数 [その他]を参照してください。

  • EXIT 文の強化   Interactive SQL の EXIT 文は、Interactive SQL に終了コードを設定できるようになりました。

    EXIT 文 [Interactive SQL]を参照してください。

  • OUTPUT 文に ASIS キーワードを指定できる   ASIS を指定すると、エスケープ処理をせずに値がそのままファイルに書き込まれます。

    OUTPUT 文 [Interactive SQL]を参照してください。

  • インデックスと外部キーを変更できる   ALTER INDEX 文を使用すると、インデックスと外部キーの名前を変更できます。また、プライマリまたは外部キー・インデックスに加えて、ユーザ作成インデックスについても、インデックスのタイプをクラスタードまたはノンクラスタードに変更できます。

    このリリースより前に作成されたデータベースでクラスタード・インデックスを利用するには、データベースをアンロードして再ロードすることによってそのデータベースのファイル・フォーマットをアップグレードする必要があります。

    ALTER INDEX 文を参照してください。

  • クエリの中で異なる集合を複数使用できる   集合関数の引数として DISTINCT column-name を指定できます。ソフトウェアの以前のバージョンでは、DISTINCT 引数を伴う集合関数は、クエリに 1 つだけ指定できました。現在のバージョンでは、複数の集合関数を使用できます。以前のバージョンでは次のクエリを使用できませんでしたが、バージョン 9 では有効です。
    SELECT count( DISTINCT first_name ),
           count( DISTINCT last_name )
    FROM contact

  • サポートされるすべての言語のイベント・スケジュールで、英語のフルスペルの曜日名と省略形の曜日名が認識される   イベントを作成する場合、データベース・サーバでは、Adaptive Server Anywhere がサポートしているすべての言語において、英語のフルスペルの曜日名と省略形の曜日名の両方が認識されます。以前のバージョンでは、英語以外の言語のスケジュールでは、フルスペルの英語の曜日名を指定する必要がありました。

    CREATE EVENT 文を参照してください。

  • プロシージャ・テキストを隠してロジックの機密を保持   SET HIDDEN オプションを使用して、ストアド・プロシージャ、関数、トリガ、ビューに含まれるロジックを隠すことができます。これによって、ストアド・プロシージャ、関数、トリガ、ビュー内のロジックを明らかにせずに、アプリケーションやデータベースを配布できます。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、アップグレード・ユーティリティを使用してデータベースをアップグレードする必要があります。

    プロシージャ、関数、トリガ、ビューの内容を隠すを参照してください。

管理とスケーラビリティの強化
  • より詳細なリターン・コードを返す検証ユーティリティ   検証ユーティリティ (dbvalid) は、異常の発生原因を示す、より詳細なリターン・コードを返します。

    検証ユーティリティ (dbvalid)を参照してください。

  • 2 つの新しいサーバ・プロパティ   2 つの新しいサーバ・プロパティが追加されました。CommandLine は、サーバを起動するときに使用したコマンド・ラインを表示し、CompactPlatformVer は、PlatformVer サーバ・プロパティの縮小バージョンを表示します。

    データベース・サーバ・プロパティを参照してください。

  • 新しい sp_remote_primary_keys ストアド・プロシージャ   リモート・データ・アクセスを使用するリモート・テーブルに関するプライマリ・キー情報を取得するために、sp_remote_primary_keys というストアド・プロシージャが追加されました。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、アップグレード・ユーティリティを使用してデータベースをアップグレードする必要があります。

    sp_remote_primary_keys システム・プロシージャを参照してください。

  • 接続の通信リンク名を返す新しい connection_property   CommNetworkLink という新しい接続プロパティが、接続の通信リンクの名前を返します。

    接続プロパティを参照してください。

  • NetWare が完全な文字セット変換をサポート   バージョン 8.x の NetWare では、シングルバイト対シングルバイトの変換がサポートされていました。バージョン 9.0 では、他のプラットフォームでサポートされるすべての文字セットが、NetWare でもサポートされます。

  • アンロード・ユーティリティでカラム・リストをアンロードできる   アンロード・ユーティリティ (dbunload) で、reload.sql ファイルに生成される、LOAD TABLE 文のカラム・リストをアンロードできるようになりました。これによって、テーブル内のカラムの順序を簡単に変更できます。

    アンロード・ユーティリティ (dbunload)を参照してください。

  • LDAP によるデータベース・サーバの登録   データベース・サーバを LDAP サーバに登録できるようになったので、クライアントと検索ユーティリティ (dblocate) は、LDAP サーバに対してデータベース・サーバの検索を実行できます。このため、WAN やファイアウォールを経由して動作しているクライアントは、IP アドレスを指定することなくデータベース・サーバを検索できます。LDAP は TCP/IP でネットワーク・サーバ上でのみ使用されます。

    LDAP サーバを使用した接続またはLDAP プロトコル・オプション [LDAP]を参照してください。

  • 接続数が多い場合の処理の向上   200 を超える接続がある場合、大量の接続を適切に処理するために、活性タイムアウト値が自動的に増加します。

    -tl サーバ・オプションLivenessTimeout 接続パラメータ [LTO]を参照してください。

  • 要求ログのフィルタリングとホスト変数のサポート   要求ログへの出力をフィルタリングできるようになり、特定の接続や特定のデータベースの要求だけを入れることができます。また、ホスト変数値を要求ログに出力できるようになりました。

    sa_server_option システム・プロシージャデータベース・パフォーマンスの改善sa_get_request_times システム・プロシージャ-zr サーバ・オプションを参照してください。

  • BACKUP 文と dbbackup でログ・コピーの名前を変更できる   BACKUP 文とバックアップ・ユーティリティ (dbbackup) を使用して、ログ・コピーの名前を変更できます。

    バックアップ・ユーティリティ (dbbackup)BACKUP 文を参照してください。

  • START DATABASE 文でチェックポイントでのログ・トランケーションと読み込み専用モードを指定できる   START DATABASE 文を使用すると、有効なチェックポイントでのログ・トランケーション、または読み込み専用モードを指定して、データベースを起動できます。

    START DATABASE 文を参照してください。

  • Adaptive Server Anywhere における異なる監査オプションのサポート   Adaptive Server Anywhere の以前のバージョンでは、監査のオンとオフを選択できました。現在のバージョンでは、監査するオプションを指定できるようになりました。

    sa_disable_auditing_type システム・プロシージャまたはsa_enable_auditing_type システム・プロシージャを参照してください。

  • event_parameter 関数に渡せる 3 つの新しい値   3 つの新しい値を event_parameter 関数に渡すことができます。ScheduleName は、イベントを発生したスケジュールの名前を返します。AppInfo は、イベントを引き起こした接続の connection_property ('AppInfo') の値を返します。DisconnectReason は、接続が終了した原因を示す文字列を返します。

    EVENT_PARAMETER 関数 [システム]を参照してください。

  • ネットワーク・サーバに同時に接続しているユーザ数を示す新しいサーバ・プロパティ   新しい LicensesInUse プロパティによって、ネットワーク・サーバに現在同時に接続しているユーザ数が判断されます。各同時接続ユーザは、接続数ではなく、サーバに接続しているユニークなクライアント・ネットワーク・アドレスの数で判断されます。たとえば、3 台のクライアント・コンピュータがサーバに接続していて、各クライアント・コンピュータが 2 つの接続を持つ場合、プロパティ ('LicensesInUse') を選択すると "3" が返されます。

    詳細については、データベース・サーバ・プロパティを参照してください。

  • サービス作成 [dbsvc] ユーティリティでサービスの起動と停止が可能   サービス作成 [dbsvc] ユーティリティに、2 つの新しいオプションが追加されました。1 つは Dbsvc -u service_name で、service_name で指定されるサービスを起動します。もう 1 つは dbsvc -x service_name で、service_name で指定されるサービスを停止します。

    Windows 用サービス・ユーティリティ (dbsvc)を参照してください。

  • LocalOnly プロトコル・オプション [LOCAL] をサポートするネットワーク・サーバ   サーバで、LocalOnly プロトコル・オプション [LOCAL] を使用できます。LocalOnly プロトコル・オプションを YES に設定してサーバを実行すると、ネットワーク・サーバは、接続や CPU の制限を受けないパーソナル・サーバとして動作します。

    LocalOnly プロトコル・オプション [LOCAL]を参照してください。

  • Address Windowing Extensions 使用時の最小データベース・サーバ・キャッシュ・サイズの変更   Windows 2000、Windows XP、Windows Server 2003 で Address Windowing Extensions (AWE) を使用する場合の、データベース・サーバ・キャッシュの最小サイズが 2 MB になりました。以前のリリースにおける AWE 使用時の最小キャッシュ・サイズは 3 GB ~ 256 MB でした。

    -cw サーバ・オプションを参照してください。

  • ドライブ・タイプを指定する新しいデータベース・プロパティ   データベース・ファイルがあるドライブについての情報を提供する、新しい DriveType データベース・プロパティが追加されました。

    データベース・プロパティを参照してください。

  • Adaptive Server Anywhere NetWare の高速化   NetWare 版の Adaptive Server Anywhere サーバは、CLIB ではなく LibC を使用するようになりました。LibC は C ランタイム・ライブラリで、これまでの CLIB ライブラリよりも、NetWare オペレーティング・システムの新しいカーネルとの相互関係に優れています。NetWare 版のすべてのクライアント側ソフトウェア (dblib、dbisql、dbconsole、dbremote など) は、引き続き CLIB を使用します。これには NetWare の最大ファイル・サイズを NTFS と同じサイズに増加できるという利点があります。複数の CPU を使用し (ある場合)、TCP と SPX が Winsock を使用することで、以前のバージョンよりも高速になります。

    SQL Anywhere の制限バージョン 9.0 での動作の変更を参照してください。

  • NetWare における外部関数の強化   NetWare の外部関数または外部ストアド・プロシージャは、名前が競合することなく複数の NLM を使用できるようになりました。

  • エラー・メッセージの言語を接続ごとに指定可能   データベース・サーバへの各接続において、データベース・サーバから出力されるエラー・メッセージやさまざまな文字列の言語を要求できるようになりました。接続が使用する言語は、サーバが使用する言語とは別です。データベース・サーバでは、接続が要求する言語を使用して日付文字列を解釈することもできます。

  • プロセッサ・タイプを識別する 2 つの新しいサーバ・プロパティの追加   2 つの新しいサーバレベル・プロパティが追加されました。1 つは ProcessorArchitecture であり、プロセッサ・タイプを識別します。もう 1 つは NativeProcessorArchitecture であり、プロセッサがエミュレートされるプラットフォーム上で、ネイティブのプロセッサ・タイプを識別します。

    データベース・サーバ・プロパティを参照してください。

  • データベースのパスワードの大文字と小文字の区別はデータベースの大文字と小文字の区別とは無関係   CREATE DATABASE 文、初期化 [dbinit] ユーティリティ、およびデータベース作成ウィザードを使用して、パスワードの大文字と小文字を区別するかどうかを指定します。パスワードの大文字と小文字を区別する設定は、文字列の比較に使用されるデータベースの大文字と小文字を区別する設定とは関係ありません。新しい CaseSensitivePasswords データベース・プロパティを使用して、データベースのパスワードの大文字と小文字を区別する設定を確認できます。

    CREATE DATABASE 文初期化ユーティリティ (dbinit)を参照してください。

パフォーマンスの強化 (クエリの最適化)

次に示す新機能はクエリの最適化を強化する機能ですが、これらの機能を使用するのにユーザの操作は必要ありません。これらの機能は、ユーザが介入しなくても実行されます。クエリ実行プランを調べると、このような最適化の効果を確認できます。

最適化の強化機能を使用するためにデータベースをアップグレードする必要はありませんが、バージョン 9 ソフトウェアで作成されたデータベースが最も効率的に処理されます。

  • コストベースのサブクエリの最適化   オプティマイザは、サブクエリが使用できる最適化のスコープを大幅に拡張しました。以前のリリースでは、サブクエリは、セマンティックなクエリの最適化の中でジョインとして記述し直すか、クエリの残りの部分とは別に最適化されていました。現在のバージョンでは、ジョインとして記述し直すには複雑すぎるサブクエリも、クエリの一部としてそのまま最適化できるようになりました。

  • バッファされたローをフェッチすることで逐次スキャンのパフォーマンスを向上   逐次テーブル・スキャンでデータベース・ページからローを読み込む場合、ローをバッファにコピーしてから、ユーザにローを返します。クエリの複雑さによりますが、これによって時間が大幅に短縮されます。

  • 効率的に実行される TOP N クエリ   TOP N 句を使用するクエリの実行アルゴリズムが新しくなり、実行速度が速くなりました。

    SortTopN アルゴリズム (SrtN)を参照してください。

  • ヒストグラムに保持する頻度を決定する新しいアルゴリズム   以前のバージョンでは、カラム・ヒストグラムは、選択性が 1% を超える値に対して単一バケットを作成していました。現在のバージョンでは単一バケットの条件が緩められ、代わって、ヒストグラムは単一バケットの最小数を保持しようとします。

    オプティマイザの推定とカラム統計を参照してください。

  • 現在キャッシュされている実行プラン数を表示する QueryCachedPlans プロパティ   新しい QueryCachedPlans プロパティを使用すると、特定の接続やすべての接続において、現在キャッシュされているクエリ実行プランの数を表示できます。QueryCachePages、QueryOptimized、QueryBypassed、QueryReused と組み合わせて使用することで、max_plans_cached オプションの最適な設定を判断できます。

    接続プロパティを参照してください。

  • プロシージャの文でプランが高速にキャッシュされる    アクセス・プランがキャッシュされる文のスコープが拡張されて、プロシージャによって結果セットが呼び出し元の環境に返される、ストアド・プロシージャ内のクエリも含まれるようになりました。この強化機能によって、いくつかの文は再び最適化しなくても済みます。

    プランのキャッシュを参照してください。

  • 各インデックスが更新されるたびにインデックスの統計情報が維持される   各インデックスが更新されるたびに、カタログ・テーブルのインデックスを含めてすべてのインデックスの統計情報が維持され、実質的にパフォーマンスを損なうことなくオプティマイザに対して正確な統計情報を提供します。統計は、インデックスの各統計に対して 1 つのローという形式で SYSATTRIBUTE で維持されます。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、データベースをアンロードして再ロードすることによってそのデータベースのファイル・フォーマットをアップグレードする必要があります。

    ISYSATTRIBUTE システム・テーブルを参照してください。

パフォーマンスの強化 (サーバ・オペレーション)
  • パフォーマンス・モニタ統計値の追加   [通信 :使用中のライセンス]、[接続数] という 2 つの新しいパフォーマンス・モニタ統計値が追加され、使用中の接続数を追跡できるようになりました。

    通信の統計値その他の統計値を参照してください。

  • UNLOAD 文への APPEND { ON | OFF } オプションの追加   新しい APPEND オプションを使用すると、アンロードしたデータを指定のファイルの最後に追加できます。

  • テンポラリ・テーブルを NOT TRANSACTIONAL として宣言できる   NOT TRANSACTIONAL を使用すると、テーブルは COMMIT や ROLLBACK の影響を受けません。テーブルにアクセスするプロシージャが COMMIT なしで繰り返し呼び出される場合に、この拡張機能は便利です。

    CREATE TABLE 文DECLARE LOCAL TEMPORARY TABLE 文を参照してください。

  • 継続的なインデックス統計情報   候補となるインデックスの物理的プロパティに関して正確な統計情報を管理することにより、オプティマイザはコストに基づいて、使用するインデックスを容易に選択できます。統計情報は SYSATTRIBUTE にあり、インデックスが更新されるたびに保持されます。また、VALIDATE 文は、指定のインデックスの統計情報が正確であるかどうかを検証し、正確でない場合はエラーを生成します。これによって、実質上パフォーマンス・コストをかけることなく、正確な統計がオプティマイザに提供されます。

    このリリースより前に作成されたデータベースでこの拡張機能を利用するには、データベースをアンロードして再ロードすることによってそのデータベースのファイル・フォーマットをアップグレードする必要があります。

    ISYSATTRIBUTE システム・テーブルVALIDATE 文を参照してください。

  • ptimistic_wait_for_commit オプションの追加   このオプションは、トランザクションがプライマリ・ローの前に外部ローを追加した場合に、バージョン 5.x のロック動作を模倣するためのものです。汎用的なオプションではありませんが、バージョン 5.x のアプリケーションをバージョン 8.x 以降に移行する場合に役立ちます。

  • 拡張プロパティ関数の追加   新しい DB_EXTENDED_PROPERTY 関数は、プロパティ固有の文字列パラメータを任意で指定できる点を除いて、DB_PROPERTY 関数に似ています。

    DB_EXTENDED_PROPERTY 関数 [システム]を参照してください。

  • 2 つの新しいプロパティの追加   FileSize と FreePages という 2 つの新しいプロパティが追加されました。各プロパティとも、オプションの引数で、プロパティが要求される DB 領域を指定できます。

    データベース・プロパティを参照してください。

  • サーバのクワイエット・モードの強化   サーバのクワイエット・モードとエラー・ログのオプションが強化され、さまざまなメッセージの出力を抑制できるようになりました。また、-q オプションは -qw オプションに変更され、-Q オプションは -qi オプションに変更されました。

開発ツールと管理ツール
  • Adaptive Server Anywhere プラグインの変更   Sybase Central の Adaptive Server Anywhere プラグインの構成が変更されました。これまでプロパティ・ウィンドウ、ウィンドウ、左ウィンドウ枠内のフォルダに表示されていた情報の多くが、右ウィンドウ枠内のタブに表示されるようになりました。たとえば、外部キーの情報を表示する場合、現在のバージョンでは、左ウィンドウ枠で外部キーを持つテーブルを選択し、右ウィンドウ枠で [外部キー] タブを選択します。以前のバージョンでは、左ウィンドウ枠に [外部キー] フォルダがありました。

    このほかにも、プラグインには次に示すようないくつかの変更が加えられています。

    • テーブル・エディタは別のウィンドウではありません。テーブルは、Sybase Central の右ウィンドウ枠で直接編集します。

    • 一度に複数のウィンドウを開きたい場合、Sybase Central の右ウィンドウ枠または別のコード・エディタのウィンドウでストアド・プロシージャ、関数、トリガ、およびイベントを編集できます。

    • ツールバーのボタンに、選択されているオブジェクト固有のオプションが含まれるようになりました。

    • SQL 文のログとサーバ・メッセージは、Sybase Central のメイン・ウィンドウに直接表示できます (データベース・サーバ・メッセージ・ウィンドウに同じ情報が表示されます)。この情報を表示するには、Sybase Central で、[ファイル] - [サーバ・メッセージと実行された SQL] を選択します。Sybase Central のメイン・ウィンドウの下部に、[サーバ・メッセージと実行された SQL] ウィンドウ枠が表示されます。

    • Adaptive Server Anywhere プラグインにはさまざまな新しいウィザードが追加されており、その指示に従うことで、テーブル、ユニークな制約、Web サービスを作成できます。

  • Adaptive Server Anywhere プラグインにおけるクリップボード・サポートの強化   Adaptive Server Anywhere プラグインにおけるクリップボード・サポートが強化され、Sybase Central 内の大半のオブジェクトを、Interactive SQL やテキスト・エディタなど、他のアプリケーションにコピーして貼り付けることができます。オブジェクトを他のアプリケーションにコピーする場合は、選択するオブジェクトに応じて、オブジェクトの名前または SQL が表示されます。たとえば、Sybase Central の中でインデックスをコピーし、それをテキスト・エディタに貼り付ける場合、そのインデックスの CREATE INDEX 文が表示されます。

    SQL Anywhere プラグインのデータベース・オブジェクトのコピーを参照してください。

  • デバッガの変更   ストアド・プロシージャと Java クラスの両方をデバッグできるデバッガが、Sybase Central に統合されました。ユーザ・インタフェースは再設計されています。

    プロシージャ、関数、トリガ、イベントのデバッグを参照してください。

  • Adaptive Server Anywhere Console ユーティリティの強化   インタフェースの変更、複数接続、ソート、ドラッグ・アンド・ドロップのサポートなど、Adaptive Server Anywhere コンソール・ユーティリティが多くの点で強化されました。

  • Sybase Central と Interactive SQL の高速起動   Windows 上で Sybase Central または Interactive SQL を起動するときの、アプリケーションの起動時間の短縮を目的とする高速ランチャが、Sybase Central と Interactive SQL に組み込まれています。Adaptive Server Anywhere 9.0.0 を実行すると、2 つのバックグラウンド・プロセスが開始します。これは dbisqlg.exe のインスタンスと scjview.exe のインスタンスであり、Interactive SQL と Sybase Central の高速ランチャ・プロセスにそれぞれ相当します。これらの実行プログラムは両方とも、ユーザーがログインすると起動します。

    高速ランチャ・オプションの使用を参照してください。

  • Interactive SQL の構文を強調表示するエディタ   Interactive SQL の [オプション] ウィンドウを使用すると、Interactive SQL の [SQL 文] ウィンドウ枠に入力される構文をどのように表示するかを設定できます。

  • Interactive SQL からの印刷   Interactive SQL の [SQL 文] ウィンドウ枠やグラフィカル・プランの内容を印刷できます。

    Interactive SQL のナビゲーションを参照してください。

  • グラフィカルなプランの強化   グラフィカルなプランの表示が、多くの点で強化されました。

    • あるオペレータから別のオペレータへ渡されるローの数は、線の太さを変えることで表されます。

    • 低速なオペレーションは、赤色の枠線で強調表示されます。

    • 統計情報の表示が拡張され、再編成されています。

    • アクセス・プランを印刷できます。

  • データベース・ユーティリティで @filename パラメータを使用できる   Interactive SQL (dbisql)、言語選択ユーティリティ (dblang)、Adaptive Server Anywhere コンソール・ユーティリティ (dbconsole) を除くすべてのデータベース管理ユーティリティでは、@file 構文を使用して、ファイルに含まれるパラメータを指定できるようになりました。ファイル名は設定ラインの任意の位置に指定でき、ファイルに含まれるパラメータがその位置に挿入されます。複数のファイルの指定も可能であり、ファイル指定子をコマンド・ライン・スイッチと一緒に使用することもできます。なお、@file 構文は再帰的でないことに注意してください。

    @data サーバ・オプションを参照してください。

  • Interactive SQL で結果の横にロー番号を表示できる   Interactive SQL には、結果の横にロー番号を表示するオプションがあります。このオプションは、Interactive SQL の [オプション] ウィンドウの [結果] タブで設定します。

  • Interactive SQL を .SQL ファイルのデフォルト・エディタとして設定できる   Windows プラットフォームにおいて、.SQL ファイルをダブルクリックすると Interactive SQL がファイルを開くように、ファイルの関連付けを作成できます。

    Interactive SQL ユーティリティ (dbisql)を参照してください。

  • Interactive SQL の [コマンド履歴] ウィンドウの強化   Interactive SQL の [コマンド履歴] ウィンドウでは、コマンドのコピーや削除、およびウィンドウ内での複数コマンドの選択を実行できます。コマンド履歴は、Interactive SQL セッション間で保持されます。

    SQL 文、実行プラン、結果セットの印刷を参照してください。

  • 警告メッセージの W プレフィクス   9.0 より以前のバージョンでは、警告メッセージとエラー・メッセージのプレフィクスはすべて、I または E でした。バージョン 9.0 では、警告メッセージのプレフィクスは W です。この変更は、dbmlsrv9、dbmlsync、dbremote、ssremote、dbltm、ssqueue に影響します。