タグ

SQLに関するrumbabaのブックマーク (49)

  • https://qiita.com/kantomi/items/cfd69c3bfd8b247b0fab

    rumbaba
    rumbaba 2016/09/11
  • SQLのインデックスとそのチューニングについてのオンラインブック

    開発者向けのSQLインデックス解説サイト、管理についての間違いない知識を提供します。 インデックスは開発時には忘れられがちである一方で、非常に効果的なSQLのチューニング方法です。Use The Index, Lukeでは、HibernateなどのORMツールの解説にとどまらず、SQLのインデックスについて基礎から説明します。 Use The Index, LukeはSQLパフォーマンス詳解のWeb上の無料版です。サイトを気に入って頂けたら、ぜひ書籍も購入してみて下さい。また、このサイトの運営をサポートする様々なグッズも販売しています。 MySQLOracleSQL ServerなどにおけるSQLのインデックスUse The Index, Lukeでは、ベンダにとらわれないインデックスの説明を心がけています。製品特有の事柄については、以下のような表示をしています。 DB2Use The

    SQLのインデックスとそのチューニングについてのオンラインブック
    rumbaba
    rumbaba 2016/06/13
  • CROSS APPLY、OUTER APPLY、LATERAL句について - interprism's blog

    この投稿は インタープリズム的「俺達私達の進捗を上げる25個前後のTips」 Advent Calendar 2015 - Qiitaの14日目 の記事です。 お久しぶりです。andoです。 今回は全社的にアドベントカレンダーという事で一つ記事を書くことになりました。 せっかくですのでクリスマスを題材に SQL の問題を書いてみました。 この問題を通して CROSS APPLY の適用可能なパターンとパフォーマンスの優位性について説明できればと思います。 使用したデータベースは、 Microsoft SQL Server 2014 です。Microsoft SQL Server 2014 Express という無償のエディションが提供されており、記事の内容も Express で動作するものとなっています。 サンタクロースのクリスマスプレゼント選択 クリスマスのプレゼント選択をIT化してみ

    CROSS APPLY、OUTER APPLY、LATERAL句について - interprism's blog
  • GitHub - OmniDB/OmniDB: Web tool for database management

    New features: PostgreSQL 13 support Database structure tree and Properties/DDL tabs with support to additional PostgreSQL objects Option to use Active Directory / LDAP to authenticate OmniDB's users Option to use PostgreSQL as OmniDB's backend database Additional monitoring units Omnis UI helper component (offering walkthroughs) OmniDB's own graphical explain component (displaying Explain and Expl

    GitHub - OmniDB/OmniDB: Web tool for database management
  • SQL Server データ型のマッピング - ADO.NET

    SQL Server と .NET Framework は異なる型システムを使用しています。 たとえば、.NET Framework の Decimal 構造体の最大小数点以下桁数は 28 ですが、SQL Server の decimal データ型と numeric データ型の最大小数点以下桁数は 38 です。 データを読み書きするときにデータの整合性を保つために、SqlDataReader では、.NET Framework の型を返すアクセサー メソッドと共に、System.Data.SqlTypes のオブジェクトを返す SQL Server 固有の型指定されたアクセサー メソッドを公開しています。 SQL Server の型と .NET Framework の型は、両方とも DbType および SqlDbType クラスの列挙によって表されます。これらは SqlParameter

    SQL Server データ型のマッピング - ADO.NET
    rumbaba
    rumbaba 2015/11/30
    いつも忘れる
  • 実行計画が解れば怖くない。SQL実践入門 - プログラマでありたい

    技術評論社さんから、SQL実践入門を献いただきました。ありがとうございます。 SQL実践入門の主題 このの目的は、「パフォーマンスの良いSQLの書き方、特に大量データを処理するSQLの性能向上の方法を理解すること」とあります。そのパフォーマンス向上の為の解として、SQLが内部的にどう処理されているかを表す実行計画の読み解き方を、いろいろなケースを上げながらひたすら解説しています。そして、何故その実行計画になるのか、データ構造やDBの動きとともに説明しています。ということで、実行計画大事という基かつ当たり前のことを、正面から取り扱っている良質のSQLです。 SQL実践入門の構成 SQL実践入門の章立ては、下記の通りです。 第1章:DBMSのアーキテクチャ──この世にただ飯はあるか 第2章:SQLの基礎──母国語を話すがごとく 第3章:SQLにおける条件分岐──文から式へ 第4章:集約

    実行計画が解れば怖くない。SQL実践入門 - プログラマでありたい
    rumbaba
    rumbaba 2015/04/17
  • SQLアンチパターン「健忘症的サロゲートキー」の提案 - 極北データモデリング

    SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る書の著者はサロゲートキーに対して消極的なのだから、「サロゲートキーの使い方がおかしい」とか言うのはお門違いなのかもしれないが... 健忘症的サロゲートキー 「SQLアンチパターン」第3章の記述を総合すると、著者はサロゲートキーについて以下のように考えていると思う。 自然キーの一意性・不変性が当てにならない場合に「自然キーの変更の影響を受けないようにする」という目的でサロゲートキーを導入する。 自然キーの重複を防ぐために、自然キーにUNIQUEインデックスを振ることを推奨する。 自然キーの代わりにサロゲートキーを外部キーにする。自然キーは他のテーブルに転

    SQLアンチパターン「健忘症的サロゲートキー」の提案 - 極北データモデリング
    rumbaba
    rumbaba 2013/03/22
  • SQLアンチパターン読了 #sqlap - nemuzukaの「明日から本気出す」

    SQLアンチパターン 作者: Bill Karwin,和田卓人(監訳),和田省二(監訳),児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 5人 クリック: 550回この商品を含むブログ (11件) を見る 買いました&読みました。開発者であれば読んで損はない良書です。っていうかシステム開発で対価を頂こうって人は読みましょう。 まだまだRDBMSのシステムは無くならないでしょうし、生み出されていくと思われます。転ばぬ先の杖としてこのの情報があると「あの時ああしとけば良かった」と悔やむことや後任の担当者に恨まれることが少なくなるでしょう。 システム開発を長いことやってて修羅場を経験している人にしてみたら新しい驚きはないと思います。なので、こういう「べからず集」は、情熱はあるけど経験の少ない人にこそ読んで欲しいと考えます。 先人たちの過ちを自

    SQLアンチパターン読了 #sqlap - nemuzukaの「明日から本気出す」
    rumbaba
    rumbaba 2013/02/07
  • SQL vs NoSQL、グーグルにおける戦い(前編)。Google I/O 2012

    SQLとNoSQLではどちらが優れているのか? グーグルの担当者がディベート(というより小芝居:-)を行ったセッション「Google I/O 2012 - SQL vs NoSQL: Battle of the Backends - YouTube」が公開されています。 このセッションは、先々週開催されたGoogle I/O 2012で行われたもの。SQLとNoSQLには機能的にどのような違いがあり、どう使い分けるべきなのか、明確な説明が参考になります。 ハイライトを紹介しましょう。 クラウドにおけるデータベースのメリット グーグルAlfred Fuller氏(NoSQL担当)。 クラウドはフォルトトレラントでメンテナンス不要、パッチも私たちが適用しており、利用者は運用について心配する必要がない、といったメリットがある。 データのレプリケーションや地域分散でデータも保全され、インターネッ

    SQL vs NoSQL、グーグルにおける戦い(前編)。Google I/O 2012
  • The SQL Injection Knowledge Base

    Examples: SELECT * FROM Articles WHERE id = '1'''; SELECT 1 FROM dual WHERE 1 = '1'''''''''''''UNION SELECT '2'; Notes: You can use as many apostrophes and quotations as you want as long as they pair up. It is also possible to continue the statement after the chain of quotes. Quotes escape quotes.

  • Loading...

  • データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ

    データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 OracleSQLServer、MySQLと色々なDBのチューニングをしてきましたが、

    データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ
    rumbaba
    rumbaba 2011/12/19
  • NULLIF 関数の実用的な使い方 - ぐるぐる~

    NULLIF 関数って動作の説明は多いけど、それを何に使えばいいのかってあんまり理解されてないんじゃないかと思う。 ってことで、NULLIF 関数の実用的な使い方をいくつか紹介する。 NULLIF 関数の動作 まずは、NULLIF 関数の動作から。 NULLIF 関数は引数を 2 つとって、引数が等しい場合に NULL を返し、異なる場合に第一引数を返すだけの、動作自体はかなり簡単な関数。 例えば、 SELECT col_a, col_b, NULLIF(col_a, col_b) FROM SomeTable; これを実行すると、次のような結果が得られる。 col_a col_b NULLIF(col_a, col_b) 10 10 NULL 10 0 10 0 10 0 NULL NULL NULL また、プログラマのためのSQL 第2版では、CASE 式を用いて、 NULLIF(V1

    NULLIF 関数の実用的な使い方 - ぐるぐる~
    rumbaba
    rumbaba 2011/12/12
  • [SQLインジェクション対策]Webアプリケーションとかの入門本みたいのを書く人への心からのお願い。 - *「ふっかつのじゅもんがちがいます。」withぬこ

    SQLインジェクションについて書くときに以下のメッセージを必ず含めて欲しいです。 単にプリペアドステートメントを使え 絶対に文字列結合でSQLを構築しようとしてはいけない IPAの「安全なSQLの呼び出し方」を読むこと なんでこんなことを書くかというと、同僚が献されてた「プロになるためのWeb技術入門」なるSQLインジェクションの項で、SQLインジェクションの対策として以下のように書いてあったからです*1。 a) 値をバリデーションする b) プリペアドステートメントを使う ダメです。間違っています。単に間違っているだけでなく救いがたく間違っています。正しいSQLインジェクション対策はこう書くべきです。 単にプリペアドステートメントを使え 文字列結合でSQLを構築するな イケてないを書く人はなんで値のバリデーションをプリペアドステートメントよりも先に書くんですか?値のバリデーション

    [SQLインジェクション対策]Webアプリケーションとかの入門本みたいのを書く人への心からのお願い。 - *「ふっかつのじゅもんがちがいます。」withぬこ
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
  • SE・プログラマが知ってると便利な脆弱性チェックツール 5 つ | バシャログ。

    東京ラーメンショー2011 いきてーーー!みなさんこんにちは、nakamura です。 今日はプログラマだったりサーバ管理者だったり(もしくはその両方だったり)する方にお勧めしたいサイトとツールをいくつかご紹介します。細かい脆弱性のチェック等どうしても手間が掛かるものが多いですが、今回ご紹介するツールをうまく使うとその辺りだいぶ効率よくできると思いますよ! WEB アプリケーション関連 XSS Me XSS Me :: Add-ons for Firefox XSS のテストをある程度自動化してくれる Firefox のアドオンです。残念ながら Firefox3.0.* 系の頃に開発が止まってしまっているようですが、僕の環境では install.rdf の書き換えで問題なく動作しています。(Windows7 64bit + Firefox7.0.1) SQL Inject Me SQL I

    SE・プログラマが知ってると便利な脆弱性チェックツール 5 つ | バシャログ。
  • Works Index

    Works Index Last Updated. 05-Apr-2007 What's New ? 2007/04/05 翔泳社さんのCodeZineに記事を書きました 逆引きSQL比較 基的な機能(主にSQLについて)の概要を、逆引きで、かつ平易な言葉で閲覧する事を目的に作っています。 RDBMS Reverse Reference コラム [CodeZine] GUIのダイアログを使ったエンドユーザ向け対話バッチの実現 DOSのバッチから、VBScriptやCで作成した簡易なプログラムを呼び出して対話型の処理を行う方法を紹介します。 2007/04/05 オプティマイザヒントを使用したパフォーマンスチューニング−2 オプティマイザヒントを使用したSQLチューニングについて再度。 2005/11/23 テキストファイルやExcelシートをSELECT文で見てみる−2 Exc

    rumbaba
    rumbaba 2011/08/02
  • 複合主キーを避けるべき理由 - 虎塚

    データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

    複合主キーを避けるべき理由 - 虎塚
    rumbaba
    rumbaba 2011/07/15
  • 他のサーバーへのデータベースのコピー - SQL Server

    適用対象:SQL Server テスト、一貫性の確認、ソフトウェアの開発、レポートの実行、ミラー データベースの作成、遠隔地の支社での運用などを目的として、データベースをコピーすることが必要になる状況があります。 データベースは、次の方法でコピーできます。 データベース コピー ウィザードの使用 データベース コピー ウィザードを使用して、サーバー間でデータベースを移動またはコピーしたり、 SQL Server データベースを新しいバージョンにアップグレードしたりすることができます。 詳細については、「 Use the Copy Database Wizard」を参照してください。 データベース バックアップの復元 データベース全体をコピーするため、Transact-SQL ステートメントの BACKUP と RESTORE を使用できます。 通常、さまざまな理由によりデータベースを別のコ

    他のサーバーへのデータベースのコピー - SQL Server
  • システム・ストアドプロシージャを用いたロールの詳細設定

    今回は、前回までに実施した「権限設定」を、SQLを使用して実施します。SQLを使用することで、SQL Server Enterprise Managerでは設定不可能な、細かい指定での権限関連の設定が行えます。では早速、例題を実行しながら、SQLの確認をしていきましょう。 SQLを用いたSQL Serverログインの作成 まず、「suzuki」という名前のSQL Serverログインを新たに作成してみましょう。次の例題を実行します。 正しくSQL Serverログインが作成できたかどうかは、実際にSQL Serverログイン名「suzuki」でログインすることで確認できます。SQLクエリアナライザでSQL Serverへログインしてみましょう。パスワードは、「suzuki」です。無事にログインできたでしょうか。 では、例1のSQL文を見ていきましょう。このSQL文では、「sp_addlog

    システム・ストアドプロシージャを用いたロールの詳細設定