この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ本誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、RDBMSを使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。本記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスとSQL構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」
スタンフォード大学の研究者たちは、新しいプログラミング言語『SUQL』(Structured and Unstructured Query Language)を開発しました。 この言語は、SQL(Structured Query Language)の概念を拡張し、非構造化データのクエリ処理を可能にする新しいパラダイムを導入しています。構造化データ(例えばデータベース内のデータ)と非構造化テキストデータ(自由形式のテキストなど)の両方を処理する能力を持つ初めての言語として位置づけられています。 『SUQL』の開発は、データソースをより効果的に活用するための手法を模索する研究の一環です。従来の技術では、構造化データと非構造化データを一元的に処理することには課題がありました。 大規模言語モデル(LLM)に基づくプロンプトコンポーネントで構成される『SUQL』は、今後の開発トレンドを牽引する研究と
今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ
SQL*Plusコマンドラインを起動するには、オペレーティング・システムのプロンプトで、次のようにSQLPLUSコマンドを使用します。 SQLPLUS [ [Options] [Logon|/NOLOG] [Start] ] Optionsの構文は、次のとおりです。 -H[ELP]|-V[ERSION] |[[-C[OMPATIBILITY] {x.y[.z]] [-L[OGON]] [-M[ARKUP] markup_option] [-NOLOGINTIME] [-R[ESTRICT] {1|2|3}] [-S[ILENT]] ] また、markup_optionの構文は、次のとおりです。 HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT]
CREATE TABLE USER_MASTER ( USER_ID VARCHAR2(8) NOT NULL, DEPT_NO VARCHAR2(8), USER_NAME VARCHAR2(32), CREATED_ON DATE DEFAULT SYSDATE, MODIFIED_ON DATE ); VARCHAR2(桁数)、DATE あらかじめ組み込まれている データ型 の一種で VARCHAR2 は可変長文字列 ( ) 内はその精度を指定する。DATE は日付 + 時刻の型。 NOT NULL NULL (値のない状態を示す単語)を許可しないことを意味する。 DEFAULT デフォルト値 行を作成したときに値が指定されてない場合に、その初期値を設定する(SYSDATE は関数の一つで現在日付をあら
sqlite3 — DB-API 2.0 interface for SQLite databases¶ Source code: Lib/sqlite3/ SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessing the database using a nonstandard variant of the SQL query language. Some applications can use SQLite for internal data storage. It’s also possible to prototype an application using SQ
一連のJDBCドライバを管理するための基本的なサービスです。 注: JDBC 2.0 APIで新しく追加されたDataSourceインタフェースを使用してデータ・ソースに接続することも可能です。データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。 DriverManagerクラスは、初期化時にjdbc.driversシステム・プロパティで参照されるドライバ・クラスをロードしようとします。これにより、ユーザーはアプリケーションで使用するJDBCドライバをカスタマイズできます。たとえば、~/.hotjava/propertiesファイルで次の項目を指定します。 jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver DriverManagerメソッドgetConnectionとgetDri
例 次の例では、 を SqlException 生成し、例外を表示します。 public static void ShowSqlException(string connectionString) { string queryString = "EXECUTE NonExistantStoredProcedure"; StringBuilder errorMessages = new StringBuilder(); using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); try { command.Connection.Open(); command.ExecuteNonQue
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く