タグ

sqlに関するimashのブックマーク (5)

  • 次のSQL標準は何が盛り込まれる? -第2回DBオフライン

    DBオンラインチーフキュレーター 谷川耕一さん 谷川:ここからはDBオフラインです。1回目に続き、SQLの話をしていきます。なぜ私が聞き役になれるかというと、DBオンラインのチーフキュレーターをしているのと、前職でオラクルでマーケティングをしていてSQLは書く程度なら経験があるからです。まずは土田さんから自己紹介をお願いします。 日データベース学会 副会長 土田正士さん 土田:普段は日立製作所に勤めています。日データベース学会の副会長もしています。ここ15年ばかりISOにてSQL標準に策定に携わり、規格を開発しています。標準の策定をしつつ、会社の製品に反映するということをしています。 谷川:日データベース学会は今回のイベントの後援もしてくれています。日データベース学会は来るもの拒まずらしいので、私も入会したところです。 土田:興味がありましたら「DBSJ」でググってみてください。私

    次のSQL標準は何が盛り込まれる? -第2回DBオフライン
  • 新著が出ます:『SQL実践入門』 - ミックのブログ

    4月中旬ころになりますが、新著が出ます。SQLのパフォーマンスを主題にしたで、実行計画を読むことで、なぜこのSQLは遅いのか、あるいは速いのかをデータベースの内部動作まで把握して理解しよう、という趣旨です。 リレーショナルデータベースというのは、SQLという自然言語を模したインタフェースによって、低次のレイヤーを隠蔽する意図で作られたミドルウェアなので、当は実行計画などという手続レベルの世界をユーザが覗き見るのは、末転倒なところもあります。ただそうはいっても、現実にSQLが遅かったら原因を解析せざるをえないわけだし、大体当にブラックボックスにしたいなら、なんでどのDBMSも実行計画を見られる手段なんか用意してるんでしょうね不思議ですね、という理想と現実の狭間で悩むエンジニアの方々に少しでもベターな解に辿りつけるアプローチを提示できれば、と考えております。 以下まえがきと章立てです。

    新著が出ます:『SQL実践入門』 - ミックのブログ
    imash
    imash 2015/03/30
  • 開発者のためのSQLパフォーマンスの全て

    前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検

    開発者のためのSQLパフォーマンスの全て
  • Oracle 実用的で簡単なヒント句のつけかた

    なんていう大それたタイトルをつけると 全然わかってねーだろ!と怒る人もいるかと思いますが… (私はOracle Masterも持っていない人ですし) なぜかSQLチューニングやらを仕事でやらされることが多く、 しかしチューニング関係のやサイトは意味不明すぎて。 そんな中、実際にとんでもないSQLとかをなんとか早くする為に 編み出したヒント句のつけかたを紹介します。 軽い気持ちで読んでください。 つけるべきヒント句は6種類だけ だいたいがOracleに任せておけばいいんです。 ヒント句をがっぷりつけたところで状況が変わったら対応できなくなりますので。 私が主につけるヒント句は以下だけです。 テーブル結合に係る部分だけですね。 ordered / leading inxex / full use_nl / use_hash 全部で6つです。これだけなら覚えられるでしょう。 他のは覚えきれない

    Oracle 実用的で簡単なヒント句のつけかた
  • グループ集計で最小(最大)値を持つ行のみ取得するSQL | MiYABiS note.

    A列をグループとしたときに、B列の最小(最大)値を持つ行だけを取得したいとします。 こんなときは NOT EXISTS を使って最小(最大)値のみに絞り込みます。 例えは、下記のようなテーブルがあるとします。 CREATE TABLE [dbo].[Test]( [Type] [int] NOT NULL, [ID] [int] NOT NULL, [Name] [varchar](50) NULL, [Value] [int] NULL, CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED ( [Type] ASC, [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY]このテーブルには下記のようにデータが入力されています。 Type 列をグループとして Value の値が最小値を取得する場合、該当するデータは背景色がグレーのデータ

    グループ集計で最小(最大)値を持つ行のみ取得するSQL | MiYABiS note.
  • 1