Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

SQL Anywhere 12のマテリアライズドビューサポートの向上について

原文: Improvements to materialized view support in SQL Anywhere 12

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/03/04 14:00

 SQL Anywhereのバージョン12は、より幅広いクラスのマテリアライズドビューをサポートしています。このテーマについては、私の同僚であるAnil Goelが8月のSybase Techwaveカンファレンスで講演を行う予定です。本記事は、その講演のごく簡単な序説だと思ってください。 (原文:Improvements to materialized view support in SQL Anywhere 12、2010/07/26投稿)

目次

 本稿はデータベースソフトウェア「SQL Anywhere」およびデータベース全般に関する英語ドキュメントを翻訳する形で提供しています。図など、部分的に英語のままになっていますが、製品のSQL Anywhere自体は完全に日本語化されていますのでご安心ください。

 SQL Anywhereバージョン12は、より幅広いクラスのマテリアライズドビューの定義をサポートしています。特に、左外部ジョイン(LEFT OUTER JOIN)と右外部ジョイン(RIGHT OUTER JOIN)を含む即時マテリアライズドビューをサポートしています。このテーマについては、私の同僚であるAnil Goelが、8月の第2週にワシントンDCで開催されるSybase Techwave 2010カンファレンスにおいて2部構成のセッションで大いに語ってくれることになっています。そののため、以下はそのAnilの講演に向けてのごく簡単な序説だと思ってください。

即時反映が可能なビューのクラス

 SQL Anywhere 12の即時マテリアライズドビューは、リレーショナル射影、セレクション、内部ジョイン、左外部ジョイン、右外部ジョイン、グループ演算子を含む、単一のSELECTブロックから構成されていなくてはなりません。マテリアライズドビューのSELECT文がGROUP BY句を含む場合は、以下の2つの制限があります。

  • このクエリではHAVING句も含むことができない
  • このクエリのSELECTリストはシンプルなCOUNT(*)集約関数を含まなければならない

 クエリ内で指定したその他の条件式によっては、さらに追加の制約があります。以下で例を1つ紹介しますが、詳細はSQL Anywhereのマニュアルに譲ることにします。

 即時マテリアライズドビューの定義に以下を含むことはできません。

  • GROUPING SETS句、CUBE句、またはROLLUP
  • SELECT DISTINCT句(代わりにGROUP BY句が使用可能)
  • ローを制限する句(TOP句、START AT句、LIMIT句、またはOFFSET句)
  • セルフジョインと再帰ジョイン
  • 集約関数を使った複雑な条件式

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • Glenn Paulley(Glenn Paulley)

    カナダ オンタリオ州 ウォータールー R&DセンターにてSQL Anywhere 開発における Director of Engineering としてクエリ・オプティマイザなどの開発をリードしている。 ・IvanAnywhere

バックナンバー

連載:Glenn Paulley氏 データベース関連ブログ 翻訳記事

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5