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 - 変更点とアップグレード » バージョン 11.0.0 の新機能 » SQL Anywhere » SQL Anywhere の新機能

 

主な機能

次に、SQL Anywhere バージョン 11.0.0 の主な機能を示します。

  • テーブルのマージのサポート   SQL Anywhere では、テーブル、ビュー、システム・プロシージャの結果をテーブルまたはビューにマージできるようになりました。MERGE 文を参照してください。

  • ログイン・ポリシーのサポート   SQL Anywhere では、ログイン・ポリシーがサポートされるようになりました。ログイン・ポリシーは、ユーザに対してデータベース接続が確立されるときに適用するルールを定義する一連のオプションです。SQL Anywhere には、すべてのログイン・ポリシーのデフォルト値を含むルート・ポリシーがあります。ルート・ログイン・ポリシーに優先する設定を含む個別のログイン・ポリシーを作成できます。ログイン・ポリシーは各ユーザに個別に割り当てます。各ユーザが所属するグループからログイン・ポリシーを継承することはありません。特定のユーザへのポリシーの割り当ては、必要に応じて変更できます。ログイン・ポリシーの管理の概要を参照してください。

    この機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

  • 全文検索のサポート   SQL Anywhere で全文検索がサポートされるようになりました。全文検索を行うと、データベース内で特定の単語が出現するすべての箇所を簡単に検索できます。全文検索は、単語単位であるという点、またテーブルのローをスキャンするのではなくテキスト・インデックスを使用する点で、LIKE、REGEXP、SIMILAR TO などの述部を使用した検索とは異なります。全文検索を参照してください。

    全文検索機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

  • 正規表現のサポート   SQL Anywhere では、REGEXP と SIMILAR TO の 2 つの探索条件を使用した正規表現がサポートされるようになりました。REGEXP 探索条件SIMILAR TO 探索条件を参照してください。

    正規表現の概要LIKE 探索条件、REGEXP 探索条件、SIMILAR TO 探索条件も参照してください。

  • データベース・オプション設定のトランザクション・ログへの記録   LOAD 操作時に有効なデータベース・オプション設定がトランザクション・ログに記録されるようになりました。このため、最初の LOAD 操作と、リカバリ時にトランザクション・ログを適用して実行される最後の LOAD 操作で、date_order や nearest_century などのオプションが違っても、データの矛盾が生じません。

  • オプティマイザでのインデックス使用の強化   SQL Anywhere のインデックス機能がいくつかの点で強化されました。これらの新機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

    • 複合インデックス・スキャンのサポート   オプティマイザが強化され、複数のインデックス (最大 4 つまで) を考慮して、ベース・テーブルの複数の述部に基づいてテーブルからデータが取り出されるようになりました。これまでは、クエリのインデックス・ヒントとしてインデックスを 1 つだけ指定できました。SELECT 文の WITH 句の新しいインデックス・ヒントを使用すると、複合インデックス・スキャンを使用可能なことを指定できます。FROM 句を参照してください。

      複合インデックス・スキャンという新しいテーブル・アクセス・アルゴリズムが追加されました。MultipleIndexScan 方式 (MultIdx)を参照してください。

    • インデックス専用取得のサポート   オプティマイザが強化され、インデックス専用取得がサポートされるようになりました。インデックス専用取得では、テーブル内の対応するローにアクセスする必要がなく、インデックスのデータを使用してクエリが処理されます。オプティマイザは、可能な場合は常にインデックス専用取得を実行します。INDEX ONLY {ON | OFF} ヒントを使用して、インデックス専用取得を実行するかどうかを制御できます。インデックスを使用して述部を満たすことができるFROM 句を参照してください。

  • データのロードとアンロードの強化   データのロードとアンロードが次のように強化されています。

    • クライアント・コンピュータにあるファイルからのデータのロードとファイルへのデータのアンロード   データベース・サーバでは、これまでも SQL 文や関数を使用して、データベース・サーバのコンピュータにあるデータの読み込みと書き込みがサポートされていました。今回実装された新しい機能では、この機能をクライアント・コンピュータにあるファイルにも適用できるようになったので、クライアントのファイルをデータベース・サーバのコンピュータにコピーする必要がなくなりました。このデータの転送は効率的に行われる一方、クライアント・コンピュータ上のデータに対するセキュリティとアクセス制御が実現します。

      クライアント・コンピュータにあるファイルの実際の読み込みはクライアント・ライブラリによって透過的に行われます。したがって、既存のクライアント・アプリケーションで新しい SQL 言語のサポートを使用することで、この新機能をすぐに利用できます。

      この新機能を利用するには、クライアントとデータベース・サーバの両方が SQL Anywhere バージョン 11.0.0 であり、またクライアントで Command Sequence 通信プロトコル (CmdSeq) を使用する必要があります。

      クライアント・コンピュータ上のデータへのアクセスを参照してください。

    • 変数へのデータのアンロード   UNLOAD 文が強化されて INTO VARIABLE 句が追加され、変数にデータをアンロードできるようになりました。UNLOAD 文を参照してください。

    • 別のテーブルのカラムからのデータのロード   LOAD TABLE 文が強化されて USING COLUMN 句が追加され、別のテーブルのカラムからデータをロードできるようになりました。LOAD TABLE 文LOAD TABLE 文を使用したデータのインポートを参照してください。

      この新機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

    • 値 (BLOB) からのデータのロード   LOAD TABLE 文が強化されて USING VALUE 句が追加され、関数やシステム・プロシージャの結果などの値式からデータをロードできるようになりました。LOAD TABLE 文LOAD TABLE 文を使用したデータのインポートを参照してください。

      この新機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

    • LOAD TABLE 文のリカバリとミラーリングの強化   これまでは、ミラーリングされたデータベース構成で LOAD TABLE 文を使用してファイルからデータをロードできませんでした。これは、LOAD TABLE 文だけがトランザクション・ログに記録され、ロード対象のデータは記録されなかったからです。また、データベースをリカバリするときに、LOAD TABLE 文を使用してロードされたデータは、リカバリ時に元のロード・ファイルがないかぎり回復不能でした。

      LOAD TABLE 文が強化され、WITH CONTENT LOGGING、WITH ROW LOGGING、WITH FILE NAME LOGGING の 3 つの新しいログ・オプション句が追加されました。これらの句を使用すると、ロードするデータをトランザクション・ログに記録するかどうかを制御できます。データベースのミラーリング・システムでは、このデータを使用してミラー・データベースをロードできます。また、リカバリ時にロード・ファイルがなくてもリカバリが可能になります。LOAD TABLE 文を参照してください。

      この機能を使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

  • マテリアライズド・ビューの強化   マテリアライズド・ビューのサポートが次のように強化されました。

    • 即時マテリアライズド・ビューのサポート   基本となるテーブル内のデータの変更がマテリアライズド・ビュー内のデータに影響する場合に、マテリアライズド・ビューをすぐにリフレッシュするように設定できます。このようにすぐにリフレッシュするビューを「即時ビュー」と呼び、すぐにリフレッシュされないビューは今後「手動ビュー」と呼びます。このリリースの前に作成されたマテリアライズド・ビューは手動ビューと見なされます。また、新規に作成するマテリアライズド・ビューはデフォルトで手動ビューになります。

      手動ビューと即時ビューの詳細については、マテリアライズド・ビューの操作手動マテリアライズド・ビューと即時マテリアライズド・ビューを参照してください。

      この機能をサポートするシステム・プロシージャを使用するには、データベースをアップグレードする必要があります。SQL Anywhere のアップグレードを参照してください。

    • 複数のマテリアライズド・ビューの同時リフレッシュ   これまでは、マテリアライズド・ビューは一度に 1 つずつリフレッシュする必要がありました。各リフレッシュ操作の間で基本となるデータが変更された場合、マテリアライズド・ビューの間で矛盾が生じる可能性がありました。このリリースでは、同じデータを使用するマテリアライズド・ビューをリフレッシュするときに、REFRESH MATERIALIZED VIEW 文にマテリアライズド・ビューのリストを指定できるようになりました。REFRESH MATERIALIZED VIEW 文手動ビューのリフレッシュを参照してください。

    • REFRESH MATERIALIZED VIEW 文の新しい WITH SHARE MODE 句   REFRESH MATERIALIZED VIEW 文に、新しい句 WITH SHARE MODE が追加されました。このモードでは、リフレッシュ操作中に、基本となるテーブルを他のトランザクションで読み込むことができます。この句を指定すると、基本となるすべてのテーブルの共有テーブル・ロックが取得されてから、リフレッシュ操作が実行されます。マテリアライズド・ビューが IMMEDIATE REFRESH と定義されているか、データベースのスナップショット・アイソレーションが有効になっていないかぎり、デフォルトのモードは WITH SHARE MODE になります。リフレッシュのデフォルト動作の詳細については、REFRESH MATERIALIZED VIEW 文を参照してください。

  • ファイルまたは BLOB 文字列の内容の問い合わせのサポート   FROM 句の新しい OPENSTRING 句を使用して、ファイルや BLOB 文字列のデータを問い合わせることができるようになりました。OPENSTRING 句では、問い合わせるオブジェクト、またデータのスキーマやその他の解析情報を指定できます。FROM 句を参照してください。

    OPENSTRING 操作が実行されると、新しいプラン項目 OpenString が実行プランに表示されます。OpenString アルゴリズム (OpenString)を参照してください。

  • 圧縮インデックスのサポートの向上   圧縮インデックスのサポートが向上された結果、データベースをアンロードしてから再ロードして再構築すると、再構築されたデータベースが元のデータベースよりも小さくなる場合があります。このデータベースのサイズの縮小は、問題や、データが失われたことを示すものではありません

  • ミラー・サーバで実行されているデータベースへの読み込み専用アクセス   データベース・ミラーリングを使用している場合に、ミラー・サーバで実行されているデータベースに接続できるようになりました。したがって、プライマリ・サーバの可用性を維持しながら、リソースを大量に使用する可能性があるレポート操作の負荷をミラー・サーバに割り当てることができます。ミラー・データベースに接続するには、読み込み専用のミラー・データベースへのアクセスに使用できる -sm サーバ・オプションでデータベース・サーバ名を指定します。-sm データベース・オプションミラー・サーバで実行されているデータベースへの読み込み専用アクセスの設定を参照してください。