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

SQL Anywhere 12.0.1 » SQL Anywhere 12 変更点とアップグレード » バージョン 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 句を参照してください。

      複合インデックススキャンという新しいテーブルアクセスアルゴリズムが追加されました。

    • インデックス専用取得のサポート   オプティマイザーが強化され、インデックス専用取得がサポートされるようになりました。インデックス専用取得では、テーブル内の対応するローにアクセスする必要がなく、インデックスのデータを使用してクエリが処理されます。オプティマイザーは、可能な場合は常にインデックス専用取得を実行します。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 が実行プランに表示されます。

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

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