タグ

databaseとsqlに関するghostbassのブックマーク (13)

  • https://qiita.com/kantomi/items/2ada31d9a93f2b31bb9f

    ghostbass
    ghostbass 2016/09/14
    なるほど/ いい記事だと思うのに最後がアレ
  • 新著が出ます:『SQL実践入門』 - ミックのブログ

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

    新著が出ます:『SQL実践入門』 - ミックのブログ
  • トランザクション分離レベルについて極力分かりやすく解説してみた[SQL] - 明日になったら本気出せる

    こっちに移動 qiita.com

    トランザクション分離レベルについて極力分かりやすく解説してみた[SQL] - 明日になったら本気出せる
    ghostbass
    ghostbass 2015/03/10
    トランザクションAはn件あるつもりだったのに終わり間際に「いやn+1件ですよ?」といわれるのがファントムリード、Aは s1のつもりだったのに終わり間際にs0ですよ?って言われるのがダーティーリード
  • [Ruby][解答募集]文字列に出現する単語の個数を数えてみよう - Qiita

    先日参加したRuby/Rails勉強会@関西 60thの「Ruby初級者向けレッスン」でこんな問題が出題されていたので紹介します。 問題 文字列中に含まれる単語の個数を単語ごとにカウントして、ハッシュとして表現してください。 実行例 入力: "no ruby no life" 出力: {"no" => 2, "ruby" => 1, "life" => 1} 自分なりの実装方法を考えてみよう Rubyに慣れた人なら、おそらくかなり簡単な部類に入るプログラミング問題だと思います。 しかし、こんな簡単な問題でも意外と実装方法は人によって異なるものです。 実際、僕が関わっている西脇.rb & 東灘.rbのコミュニティで出題したときも、解答例は人それぞれ異なっていました。 各人の知識やこだわりの違いがコードに現れてくるので、コードを見るだけでも面白いですし、お互い勉強にもなります。 あなたも解答例

    [Ruby][解答募集]文字列に出現する単語の個数を数えてみよう - Qiita
    ghostbass
    ghostbass 2014/04/04
    やってみる
  • Redmineチケットの階層化の実装方法 - プログラマの思索

    Redmineチケットのテーブルissuesテーブルにlft, rgtというカラムがVer1.0からあって、何に使うのか分かっていなかったが、下記の記事を読んでようやく理解した。 ラフなメモ書き。 【元ネタ】 【Redmine】issuesテーブルのlft・rgtって? | Roppi.net SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (1)入れ子集合モデルとは何か |gihyo.jp … 技術評論社 SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (2)入れ子集合モデルにおける検索 |gihyo.jp … 技術評論社 SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (3)入れ子集合モデルにおける更新 |gihyo.jp … 技術評論社 SQLアタマアカデミー:第6回 SQLで木構造を扱う~入れ子区間モデル (1

    Redmineチケットの階層化の実装方法 - プログラマの思索
    ghostbass
    ghostbass 2013/02/19
    並べ替えとか挿入とか結構な負担になる。あとバグとかでleft,rightが不正な状態になった場合手に負えない。
  • 第3回 ループ依存症~手続き型の呪縛を打ち破れ! | gihyo.jp

    ここはとある街の総合病院。 ここには通常の診療科のほかに、一風変わった診療科が存在する。 何軒もの病院をたらいまわしにされた、手の施しようのないSQLや、今すぐに改善が必要なSQLが担ぎ込まれる救命室である。 それがSQL緊急救命室、略してSER(SQL Emergency Room⁠)⁠。 そう、ここは国内でも唯一のプログラミング専門外来である。 ロバート救命室部長。腕の立つエンジニアだが、口が悪く性格はもっと悪い四十オヤジ。 SQLを学ぶ上で最も高いハードルとなるのが、順序と手続きではなく、集合と論理の観点から考えることだ。 ―J.Celko『Joe Celko's SQL Programming Style』 (⁠Morgan Kaufmann、2005年)p.184 ループによる表現 (PM3:00 手術室。先ほどかつぎ込まれたばかりの患者を前にして、何やら揉めている) ワイリー、

    第3回 ループ依存症~手続き型の呪縛を打ち破れ! | gihyo.jp
  • OracleのSQLのアンチパターンの問題集1

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    OracleのSQLのアンチパターンの問題集1
    ghostbass
    ghostbass 2011/05/19
    このクエリーどこかで見たことある
  • ドメインロジックとSQL

    以下の文章は、Martin Fowler による Domain Logic and SQL の日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジッ

  • OracleのSQLのアンチパターンの問題集1

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    OracleのSQLのアンチパターンの問題集1
    ghostbass
    ghostbass 2010/06/18
    これはマジですか?/判断保留。
  • sq_executesql の使い方 - 月のあかり - IT編

    SQLの文字列を組み合わせて作成をし、動的に発行するプログラムをVBやC#などアプリケーションで作成したことがあると思う。 TSQLにおいてこのような文字列で動的に変化するSQLを実行するためのものとしてsp_executesql という組み込みストアドが存在する。 ◇sp_executesql の構文(SQL Server2005 Helpより引用) sp_executesql [ @stmt = ] stmt [ {, [@params=] N'@parameter_name data_type [ [ OUT [ PUT ][,...n]' } {, [ @param1 = ] 'value1' [ ,...n ] } ] 1. 単純なSELECT の例 ※M_郵便番号テーブルの郵便番号の数を取得する例 @InnerSQL にSELECT文を埋め込み、実行する DECLARE @In

    sq_executesql の使い方 - 月のあかり - IT編
    ghostbass
    ghostbass 2010/04/23
    まじで?
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

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

    ghostbass
    ghostbass 2010/02/26
    mysql mlに流れた奴より詳細。ノード直下の子を探すのはこっちのが早い/例えばツリー型掲示板なら特定トピック以下をこの構造にすればテーブルロックでなくトピックをロックすればよい。
  • mysql:12071 階層化されたデータをMySQLで扱う

    From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>> Date: Sat, 03 Sep 2005 09:24:15 -0700 Subject: [mysql 12071] 階層化されたデータをMySQLで扱う (Managing Hierarchical Data in MySQL) http://dev.mysql.com/tech-resources/articles/hierarchical-data.html (図はこのサイトを参照のこと) Mike Hillyer著 初めに 多くのユーザーは一回くらいはSQLデータベース内で、階層化したデータを 扱ったことがあると思います。そのときはリレーショナル データベースは階層化したデータ用に開発されなかったと考えたと思います。 リレーショナルデータベースのテーブルは階層化されておらず

    ghostbass
    ghostbass 2009/05/14
    (CakePHPのDBACLはこのモデル)件数が多くなく、頻繁に更新せず、「シングルパス」を出来るだけシンプルに取り出す必要がある、なら有効。たとえばメニュー、ACLデータ(Zend_Aclにも使える),商品カテゴリーなんか。
  • suVeneのあれ: 俺的コーディングルール SQL編

    2007年01月19日 俺的コーディングルール SQLプロジェクトのコーディングルールがこうでなければいけないとか、他人に強制するわけではないが、自分自身で一貫性の無いコードを書くのは気持ち悪いので、オレオレルールを決めてたりする。大抵は デ・ファクト的なルールに沿う形で書くことが多いのだが、SQL や PL/SQL に関してはなかなかデファクトと呼べるものがないので(あるのか?)、メモ的に書きとめておく。 原則キーワード小文字オブジェクト名大文字カンマは後ろインデントは半角スペースで 2一つの SQL 文でキーワード毎にインデントしない(副問合せ除く) まず、1.2. に付いてなのだが、昔は「キーワード=大文字」という意味不明な先入観で大文字で書いていた。ただ、それだと PL/SQL のキーワードも大文字、オブジェクト名も大文字で結局ほとんど大文字になってしまうのと、Shift 押す

  • 1