記事
Toshihiko Minamoto · 2020年10月19日 5m read
SQL パフォーマンスリソース

SQL パフォーマンスリソース

SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。 添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。 当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。 eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。 また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。

下に記載する情報には同じ内容が多く含まれています。 SQL パフォーマンスにおける最も重要な要素を以下に紹介します。

  • 利用可能なインデックスの種類
  • あるインデックスの種類を他の種類の代わりに使用する
  • TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容
  • Show Plan を読んでクエリの善し悪しを深く理解する方法
  • 0 0
    0 111

    グローバルをクラスにマッピングする技術 (4/3)

    三連載のはずが 4 記事目に突入してしまいました。『銀河ヒッチハイク・ガイド』のファンという方はいませんか?

    古くなった MUMPS アプリケーションに新たな生命を吹き込みたいとお考えですか? 以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

    上の内容に馴染みが無い方は、以下の記事を初めからお読みください。

    グローバルをクラスにマッピングする技術 (1/3)

    グローバルをクラスにマッピングする技術 (2/3)

    グローバルをクラスにマッピングする技術 (3/3)

    0 0
    0 56
    記事
    Mihoko Iijima · 2021年3月19日 3m read
    複数のSQL 文を実行する方法

    これは InterSystems FAQ サイトの記事です。

    複数の SQL 文を実行する GUI はありませんが、複数の SQL 文を含むファイルを作成しファイルをインポートしながら SQL を実行する方法で対応できます。

    ご利用バージョンによって使用するユーティリティメソッドが異なります。

    0 0
    0 2,906

    これは InterSystems FAQ サイトの記事です。

    TIMESTAMP型はInterSystems製品では、%Library.TimeStampデータタイプ(=%TimeStamp)に対応していて、フォーマットは YYYY-MM-DD HH:MM:SS.nnnnnnnnn です。

    小数点以下の精度を変更したい場合は、以下の方法で設定します。

    1) システムワイドに設定する

    管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [一般SQL設定] 
    GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP のデフォルト時刻精度 に 0~9 の範囲で桁数を指定できます。

    0 0
    0 354

    開発者の皆さん、こんにちは!

    この記事では、Embedded Pythonをご自身の好きなタイミングで学習できる📚セルフラーニングビデオ📚の YouTube プレイリストをご紹介します!

    👆こんな具合に👆学習内容別 Embedded Python セルフラーニングビデオを公開しています!

    この記事では、これから Embedded Python でプログラミングを開始してみたい方向けに最適なビデオをご紹介します!
    ​​​​​​

    0 0
    0 171

    これはInterSystems FAQ サイトの記事です。


    LAST_IDENTITY() SQL関数を使用すると取得できます。
    ※ この関数は、埋め込み SQL または ODBC 利用時に使用できます。ダイナミック SQL、SQL シェル、または管理ポータルの SQL インタフェースによる値には設定されません。

    簡単な埋め込み SQL での例をご紹介します。

    0 0
    0 237

    これは、InterSystems FAQサイトの記事です。

    データの登録/削除が行われている最中にインデックスを構築(再構築)することは可能ですが、そのままインデックス構築を実施すると、更新途中の状態で参照されてしまいますので、専用ユーティリティを使用してインデックス構築を実施します。
    手順は以下の通りです。

    1. 追加予定のインデックス名をクエリオプティマイザから隠します。
    2. インデックス定義を追加し、インデックス構築を実施します。
    3. インデックス構築が完了したら、追加したインデックスをオプティマイザに公開します。

    実行例は以下の通りです。
    ※例では、Sample.Person の Home_State(連絡先住所の州情報)カラムに対して標準インデックス HomeStateIdx を定義しています。

    0 0
    0 34

    これは InterSystems FAQ サイトの記事です。

    デフォルトではテーブルのカラムの順番はシステムが自動的に決定します。

    順番を変更するにはクラス定義を行う際にプロパティ・キーワード SqlColumnNumber でプロパティ毎に明示的に順番を設定してください。

    例:

    Property Name As %String [SqlColumnNumber = 2];


    ドキュメントは以下をご参照ください。

    0 0
    0 42

    クラス、テーブル、グローバルとその仕組み

    InterSystems IRIS を技術的知識を持つ人々に説明する際、私はいつもコアとしてマルチモデル DBMSであることから始めます。

    個人的には、それが(DBMSとして)メインの長所であると考えています。 また、データが格納されるのは一度だけです。 ユーザーは単に使用するアクセス API を選択するだけです。

    • データのサマリをソートしたいですか?SQL を使用してください!
    • 1 つのレコードを手広く操作したいですか?オブジェクトを使用してください!
    • あなたが知っているキーに対して、1 つの値にアクセスしたりセットしたいですか? グローバルを使用してください!

    これは短く簡潔なメッセージで、一見すると素晴らしく聞こえます。しかし、実際には intersystems IRIS を使い始めるたユーザーには クラス、テーブル、グローバルはそれぞれどのように関連しているのだろうか? 互いにどのような存在なのだろうか? データは実際にどのように格納されているのだろうか?といった疑問が生じます。

    この記事では、これらの疑問に答えながら実際の動きを説明するつもりです。

    0 0
    0 189

    キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle

    目的

    最近、Covid-19患者がICU(集中治療室)に入室するかどうかを予測するKaggleデータセットがあることに気づきました。 231列のバイタルサインや観測で構成される1925件の遭遇記録が含まれる表計算シートで、最後の「ICU」列では「Yes」を示す1と「No」を示す0が使用されています。 既知のデータに基づいて、患者がICUに入室するかどうかを予測することがタスクです。

    このデータセットは、「従来型ML」タスクと呼ばれるものの良い例のようです。 データ量は適切で、品質も比較的適切なようです。 IntegratedMLデモキットに直接適用できる可能性が高いようなのですが、通常のMLパイプラインと潜在的なIntegratedMLアプローチに基づいて簡易テストを行うには、どのようなアプローチが最も単純なのでしょうか。

    範囲

    次のような通常のMLステップを簡単に実行します。

    0 0
    0 112

    これはInterSystems FAQ サイトの記事です。

    連番を生成する関数($INCREMENT)を使用してユニークな番号を自動付番することができます。

    SQLのSELECT文で使用する場合には OracleのSequence相当の機能を実装したクラスを利用する方法があります。

    サンプルを以下のGitHubリポジトリより取得することができます。

    OracleのSequence機能を実装するサンプル

    0 0
    0 109

    これは InterSystems FAQ サイトの記事です。

    INFORMATION_SCHEMA スキーマを使用して取得できます。

    INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルのSQLメニューに表示されません。
    表示させる方法は以下の通りです。

    1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
    2. スキーマのプルダウン左にある「システム」をチェックします。
    3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

    0 0
    0 166

    これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。

    0 0
    0 33

    SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。

    手順は以下になります。


    1. 外部ソースへの SQL ゲートウェイ接続の作成を行います


    ※こちらの例では、IRISの別インスタンスへの接続を試しています。
    ※ODBCを使用される場合は、事前に
    システムDSN(64bit)の準備が必要です。

    管理ポータルより
     [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。

    接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。

    0 0
    0 35

    これは、InterSystems FAQサイトの記事です。

    SQLクエリーの文字列を監査ログに残すことができます。

    詳細は、以下のドキュメントをご参照下さい。

    システム監査イベントについて

    ※%SQLで始まるイベントをご覧ください。

    InterSystems SQL の使用法

    ※監査関連ページをご覧ください。

    0 0
    0 77

    InterSystems IRIS Data Platform の 2021.2 リリースには、ミッションクリティカルなアプリケーションを高速で柔軟性に優れ、セキュアに開発するための刺激的な新機能が多数含まれています。 Embedded Python は間違いなく脚光を浴びています(正当な理由で!)が、SQL の分野でも、テーブルデータに関する詳細な統計情報を収集し、それを最適なクエリプランに提供する、より適応性の高いエンジンに向けて大きな一歩を踏み出しました。 この短い連載記事では、2021.2 で新しく追加された 3 つの要素について詳しく説明し、ランタイムプランの選択(RTPC)を手始めに、この目標に向かって進みます。

    これらについて適切な順序で話していくのは困難です(この記事を書く上で、私がどれだけ順序を入れ替えたか想像できないほどです!) というのも、これらが相互に非常にうまく機能するためです。 そのため、ご自由に順序を変えてお読みくださいsmiley

    0 0
    1 48

    こんにちは、皆さま。
    業務でIRISを用いて開発を行っている者です。

    SQLの実行結果について、意図せぬ結果になるものが二点ありますので、
    利用方法等に誤りがないかを確認させてください。


    CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?
    ⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、
     オンコードで%Execute()しても実行エラーになる。

    ★この構文では?パラメータは利用できないのでしょうか?

    0 8
    1 72