タグ

sqlに関するyamkazuのブックマーク (18)

  • 開発者のためのSQLパフォーマンスの全て

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

    開発者のためのSQLパフォーマンスの全て
    yamkazu
    yamkazu 2014/10/29
  • プログラム内のデータベース処理高速化TIPS:phpspot開発日誌

    10 sql tips to speed up your database プログラム内のデータベース処理高速化TIPSが10個紹介されているエントリのご紹介です。 SQLが適切に設計されていないとすぐにデータベース処理がCPUを圧迫してしまいますので可能な限り知っておきたいですね。 基的な事から応用的な事まで参考になりそうだったのでメモ程度にご紹介。 explainでインデックスが使われているかを調べる 最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう Memcached, CSQL Cache, AdoDB などでそれが可能 必要じゃないモノをselect しないようにする select * from table; ↓ select id from table; limit を使って取得する結果を少なくする foreach ループなどの中でsqlクエリを

  • PostgreSQLの再帰SQL(1) ――再帰SQLの構文

    はじめに 連載ではPostgreSQL 8.4を使って、再帰SQLの入門事項や、Oracle Technology Network(OTN)でよく見かける問題の解法、Oracleの階層問い合わせや再帰with句の機能を模倣する方法を、SQLのイメージを交えて解説します。 稿では、再帰SQLの構文などを扱います。 対象読者 PostgreSQLで再帰SQLを使ってみたい方 再帰SQLの理解を深めたい方 必要な環境 稿で扱うSQLは、PostgreSQL 8.4 beta 2で動作確認しました。その他、次の環境でも応用が可能です。 Oracle 11g R2以降 DB2 SQL Server 2005以降 1. 再帰SQLとは with句でselect文を実行して、そのselect文の結果を使ってselect文を実行して、そのselect文の結果を使ってselect文を実行して、……(以

    PostgreSQLの再帰SQL(1) ――再帰SQLの構文
  • GroovyとDbUnit - blog4j 2.0

    DbUnitでもめんどくさいものはめんどくさい。 DbUnitはデータセットの定義にExcel/XML/CSVファイルを使えるけど、テストコードとテストデータが別ファイルになってしまうのが少し面倒だと思っていた。テストを書いてるときはそんなに問題にならないけど、後でテストを見たときにデータファイルを探さないといけないし、コードとデータファイルを見比べるのが面倒なときもある。Excelでシートが複数あるとさらに面倒。 それでも仕方なくやってたけど、バッチ処理をBashで書く事があって、動作確認用テストコードをGroovyで書いた。 すると、ちょっとの工夫で、DataSetの定義がテストコードの中に見やすい形で書けた。 サンプルコード # staticブロックとgroovy.sql.Sqlを使っているのはサンプル用にテーブルの作成とDAOの代わりなので気にしないでください。 ポイントは独自に定

  • SQLコマンド

  • SQLの方言、複雑なSQLは遅い、スケールアウトについて:なにわのITベンチャー社長Blog - CNET Japan

    コメント欄がちょっと炎上。  SQLにロジックを入れるにあたり、必ず問題になるのが表題の件。 ■ SQLの方言について 違いはあります。違いを大きいと感じるか、小さいと感じるかは人それぞれでしょう。同じだと思っていると戸惑うかもしれませんが、違いがあることを認知していれば、個人的には簡単に乗り越えられるレベルと感じています。 わたしが経験した順に。 ● Access RDBMSとはいえないけれど、パーソナルツールとして卓越していると思います。アドホックな仕事には最適ですね。 SELECT句、FROM句にサブクエリーが書けないと思っていました(たぶん、2.0ではできなかったと思うけれど……もしできてたら、苦労したから悔しい。手元にある一番古いAccess2000でも簡単にできてびっくりしました)。 ● Oracle ずいぶんやったな〜。 メジャーではあるけれど当に癖が強い(と思う)。テーブ

    yamkazu
    yamkazu 2009/08/25
  • 新しい業界標準「SQL99」詳細解説

    オブジェクト指向、Javaを取り入れた 新しい業界標準「SQL99」詳細解説 第一章 高度なデータ操作(2) 高度なリレーショナル操作 SQLでは、以前よりも複雑で高度なリレーショナル操作が可能になっている。これにより、1つのSQL文で高度な処理が表現できるようになった。そうした新機能について紹介する。 ■共通表式 WITH句 SELECT文の結果も「表」なので、表名を書くところにはSELECT文をそのまま書くことができる。これはすでにSQL92が導入している「表式」という概念で、SELECT文のFROM句の中にもSELECT文を書くことができる。次の例は販売実績表から地域ごとに月・製品別売上額のその地域の売上に占める比率(百分率)を求めている。比率を計算するための分母(その地域の売上額合計)をFROM句中のSELECT文で計算していることに注目していただきたい。 SELECT S.地域名

    yamkazu
    yamkazu 2009/06/26
  • 2005/05/24 日記: Javaで書かれたフリーなSQL自動整形ツールが欲しい…

    [いがぴょんの日記v2,diary,igapyon] Javaで書かれたフリーなSQL自動整形ツールが欲しいです。痛感しました。 広告: Pleiades 最新安定版 (1.3.0) リリース 03/15 Eclipse プラグイン日語化プラグイン の名称で有名な Pleiades の最新安定版 (1.3.0) がリリースされました。 Javaで書かれたフリーなSQL自動整形ツールが欲しいです。痛感しました。 特に、ある程度以上の規模で、サブクエリや () が駆使されはじめると、字下げするだけでも かなり難易度高いです。 試作できないか思索してみます。(目的と手段が混乱しないように注意は必要ですね…) もちろんSQLコーディングルールは 伊賀の勝手仕様によるものになることでしょう (苦笑) ということで手始めにSQLのBNFを探してみました。すばらしい資料をいくつ

    yamkazu
    yamkazu 2009/06/26
    sqlの整形ツール
  • 逆引きSQL比較

    Works > 逆引きSQL比較 逆引きSQL比較 [ 共通事項 ]  [ ORACLE ]  [ MSSQL ]  [ SSA ]  [ Postgres ]  [ MySQL ]  [ Jet ]  Last Updated. 14-May-2006 Since 08-May-2001 ■はじめに 複数の RDBMS を使った経験がある人なら、おわかりかと思いますが、SQLRDBMS によって異なる部分が結構あります。 このページは各 RDBMS における 基的な機能(主にSQLについて)の概要を、逆引きで、かつ平易な言葉で閲覧 する事を目的に作ったリファレンスです。 特定の RDBMS を持ち上げたり、貶めたりするのが目的ではないので誤解なきよう。 また、間違いについてのご指摘や『こうした方が効率的だ』などのご意見も大歓迎です。 対象としているのは以下の RDBMS

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • A5:SQL Mk-2 - フリーのSQL開発ツール/ER図ツール

    A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL

  • http://www.ecoop.net/memo/2005-05-23-1.html

    yamkazu
    yamkazu 2008/04/24
  • PostgreSQL 編9 - スカラー副問い合わせ、件数指定、OFFSET、LIMIT、HAVING - SAK Streets

    PostgreSQL 編9 - スカラー副問い合わせ、件数指定、OFFSET、LIMIT、HAVING ■スカラー副問い合わせ ・PostgreSQL でも、スカラー副問い合わせがサポートされている。 このスカラー副問い合わせは、広く応用できて非常に便利です。 尚、フィールドなど単一行の結果を戻す必要のある問い合わせを 単一行副問い合わせと呼ぶ。 (単1行副問い合わせ、単一行問い合わせ、単1行問い合わせ) select key, (select key from testm b where key = a.code1) from test2m a ; key | ?column? ----------+---------- abc01 | a001 abc02 | a011 abc03 | abc02 | a011 abc03 | ■インラインビュー ・インラインビューは、次のようにする。

    yamkazu
    yamkazu 2008/04/23
  • ASH とりあえずこれだけ知っとけSQL

    この文章は、ある程度プログラム等の知識があるが、データベースについてはあまり知らないというひとを対象に書かれています。 SQLとは、Structured Query Language の略で、構造化問い合わせ言語という意味になります。 SQLを覚えるメリットは、これさえ覚えておけば、どんなデータベースにも同様の方法でアクセスできることです。 まあ、データベースのシステムによって、多少の方言はありますが、基は同じです。 ここでは、データベースの管理よりも、データベースの使用、あるいはデータベースを利用したアプリケーションの開発等の際に、重要になってくるであろうSQLを中心に、例を多用して解説します。 必要と思われるもの、重要と思われるものだけを抜粋して解説していますので、下記で解説されるのは、SQLの『一部』でしかないことを了承ください。 前提 データベースが存在し、そこには、ash_ta

    yamkazu
    yamkazu 2008/04/23
  • SQL Power - ポスグレ パワーチューニング

    SQL パワー - SQL チューニング SQL はどのように実行されるか SQL は非常に強力ですが、複雑な SQL 文を実行したときに、想像以上に時間がかかったことがあるかと思います。これは、PostgreSQL が、設計者・開発者の意図したとおりに実行されていないかもしれません。いや、もちろん、結果は正しい結果が返ってきていると思いますが(返っていないとしたらたぶん開発したプログラムのバグですよ)、その結果を求めるまでに、最適な道順を通ってないかもしれません。 大抵チューニングが必要なのは、select 文なので、ここでは select 文を中心に話を進めます。 SQL は、実行時に PostgreSQL サーバに渡され、PostgreSQL サーバがどのようにデータにアクセスしたらよいかを考えます。例えば次のような SQL 文があったとしましょう。 select 社員名称 from

  • やさしくわかるデータベース・チューニング - SQL文の見直し

    次は、開発フェーズにおけるデータベース・チューニング項目について説明していきます。 開発者(プログラマー)は、単体テストまたは納品後のユーザからのクレーム等にて各処理のレスポンスが悪くチューニングが必要だと思った場合、その処理(プログラム)を特定してSQL文を見直します。これを『アプリケーション・チューニング』と言います。 ① SQL文が特定できた後、そのSQL文の実行計画を確認します。 実行計画は、EXPLAIN PLAN FOR {SELECT文}; にて確認できます。 ※ EXPLAIN PLANコマンドを実行する前にplan_table表を作成しなければいけません。Plan_table表の作成スクリプトと、EXPLAIN PLANコマンドの結果を見るスクリプトは、『便利なツール集』の⑧と⑨にあります。 実行計画を見て、TABLE ACCESSがFULLと表示された場合は、全表検索に

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1