次に、SQL Anywhere バージョン 16.0 で導入された主な機能を示します。
SQL Anywhere オプティマイザは、クエリ最適化プロセス中に、左側が深いツリー型の構造ではないアクセスプランを考慮するよう強化されています。追加のアクセスプランを考慮することにより、オプティマイザでより効率的な最良プランが見つかり、SQL Anywhere 16.0 での一部の文の実行時間が大幅に短縮されます。実行プランのコンポーネントを参照してください。
SQL Anywhere では ROWS と ARRAYS という複合データ型のサポートが追加されています。これらのデータ型を使用すると、リストの構造やその値のデータ型を定義できるため、より効率的にリストを保管できます。また、UNNEST 演算子を使用することで、リスト要素へのアクセスをより容易にします。この場合、直接アクセス、二重角カッコを使用したアクセス、または結果セットとしてのアクセスが可能です。VARCHAR カラム内の区切られた文字列としてリストを保管し、sa_split_list で解析する場合は、ARRAY データ型の使用を検討してください。ARRAYS は、それぞれの間に何らかの関連のあるさまざまなオブジェクトを保管する場合に非常に便利です。ROWS は、1 つのオブジェクトと関連する複数の値を保管する場合に便利です。
ROW コンストラクタ、ARRAY コンストラクタなどの複合データ型をサポートするため、新しい SQL 関数が追加されています。新しい演算子 UNNEST も追加されています。
SQL の関数とプロシージャは、IN、OUT、または INOUT 引数として ROW データ型と ARRAY データ型を受け付けます。ローと配列は、SQL ユーザ定義関数からの戻り値のタイプとして使用できます。
ROW 型と ARRAY 型は以下で使用できます。
現在、ROW、ARRAY、VARRAY、UNNEST は予約語です。
次の項を参照してください。
SQL Anywhere には、Web クライアントが SQL Anywhere データベースサーバと通信するための OData サーバが組み込まれています。Web クライアントは、HTTP サーバ内にある設定可能な OData プロデューサに要求を送信することができます。OData の概念はここでリレーショナルデータベースの操作に変換されます。OData サポートの一部として、次の機能が追加または変更されています。
OData のサポートを参照してください。
イベントのトレースでは、システム定義およびユーザ定義のトレースイベントに関する情報がイベントトレースターゲットに記録されます。トレースセッションは、ターゲットに記録される情報を収集するトレースイベント (データベースサーバソフトウェアまたは SQL アプリケーション内の特定の位置) で構成されています。ターゲットとは、データベースサーバがトレースイベントを記録する場所 (ファイルなど) です。
イベントのトレースは、運用環境で推奨されており、これを使用すると、ログに記録される情報をきめ細かく制御できます。データベースサーバとアプリケーションの両方についての、ユーザ定義とシステム定義の両方のトレースイベントを記録でき、トレースイベントをカスタマイズして、パフォーマンスの問題を特定することができます。
trace_system_event セキュリティ機能を使用すると、ユーザ定義のトレースイベントの作成を可能にするかどうかを制御できます。
次の項を参照してください。
Interactive SQL による SAP HANA データベースへの接続のサポート Interactive SQL を使用して、SAP HANA データベースに接続できます。[接続] ウィンドウで、[データベースタイプを変更] をクリックし、次に [SAP HANA] をクリックします。Interactive SQLを参照してください。
HANAODBC リモートデータアクセスサーバクラス SAP HANA をバックエンドサーバとして使用するため、リモートデータアクセスのサポートに HANAODBC リモートデータアクセスクラスが含まれています。 リモートデータアクセスのサーバクラスを参照してください。
ミラーまたはコピーノードでのイベントの実行 イベントを、ミラーリングおよび読み込み専用スケールアウトシステム内のミラーサーバとコピーノード上で実行できるようになりました。どのサーバでも実行できるイベントを作成するには、CREATE EVENT 文または ALTER EVENT 文で FOR ALL 句を指定します。CREATE EVENT 文とALTER EVENT 文を参照してください。
新しい MIRROR リモートデータアクセスサーバクラス MIRROR サーバクラスは ODBC を通してリモート SQL Anywhere サーバに接続されます。ただし、リモートサーバの作成時には、SYS.SYSMIRRORSERVER カタログテーブルにあるミラーサーバ名が USING 句に含まれます。サーバクラス MIRRORを参照してください。
実行中のミラーリング設定内での監視サーバの移動 チュートリアル:監視サーバの移動を参照してください。
ミラーサーバをコピーノードに変換する チュートリアル:パートナサーバをコピーノードに変換するを参照してください。
パートナをあるサーバから別のサーバに移動 チュートリアル:パートナサーバの移動を参照してください。
1 台のコピーノードとし、同じデータベース用の監視ノードとすることも可能 チュートリアル:1 台のサーバをコピーノードと監視サーバとして兼用する方法を参照してください。
動作中のサーバ上でミラーリングまたは読み込み専用スケールアウトデータベースを動的に起動 動作中のパートナ上でミラーデータベースまたはコピーノードを起動するには、START DATABASE 文と MIRROR ON 句を一緒に使用します。START DATABASE 文を参照してください。
SET MIRROR OPTION 文 SET MIRROR OPTION には promotion_time という新しいオプションが用意されています。このオプションを使用すると、親の接続が切れた後、プロンプトを表示しないでコピーノードをルートデータベースサーバに接続された状態にする時間を指定できます。max_disconnected_time オプションでは、前回コピーノードが親、代替の親、またはルートデータベースに接続されてからコピーノードが停止するまでの時間を指定できるようになりました。SET MIRROR OPTION 文を参照してください。
データベースプロパティの強化
CopyNodeParent 読み込み専用スケールアウト設定に含まれるコピーノードの現在の親サーバ名を返します。CopyNodeParent データベースプロパティを参照してください。
PartnerState パートナが定義されていない場合、PartnerState は NULL を返します。以前は disconnected を返していました。PartnerState データベースプロパティを参照してください。
LOAD TABLE の新しいデフォルトの WITH ROW LOGGING 句 WITH ROW LOGGING 句を指定すると、各ローのロードが INSERT 文としてトランザクションログに記録されます。ミラーリングされたデータベースで FROM filename-expression または USING FILE filename-expression を使用している場合、同期を行っているデータベースやデフォルトになっているデータベースには、このレベルのロギングをおすすめします。ただし、大量のデータをロードする場合は、このロギングタイプがパフォーマンスに影響したり、トランザクションログがかなり長くなったりする可能性があります。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |