タグ

sqlに関するMountainKのブックマーク (4)

  • perl の SQL::Maker (と SQL::QueryMaker) を ruby に移植した

    perl の SQL::Maker (と SQL::QueryMaker) を ruby に移植した
  • MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録

    トランザクションとは 1つの作業単位として扱われるSQLクエリの集まりです。 複数のUPDATEやINSERTをひとつの集まりとして、 それらのクエリがすべて適用できた場合のみデータベースに反映します。 ひとつでも適用に失敗したクエリがあった場合は、そのまとまりすべてのクエリの結果は反映しません。 ACID特性 トランザクション処理に求められる4つの特性です。 原子性 (Atomicity) トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。 一貫性 (Consistency) どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。 分離性 (Isolation) トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。 永続性 (Durability) トランザクションが完了したら、シス

    MySQLでトランザクションの4つの分離レベルを試す - FAT47の底辺インフラ議事録
  • 複合主キーを避けるべき理由 - 虎塚

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

    複合主キーを避けるべき理由 - 虎塚
  • SQLチューニングの基礎知識 「データアクセスと索引(インデックス)」の関係を理解する

    パフォーマンス向上を見据えた「データアクセス方法」を理解する ユーザーによりよいサービスを提供していくために、データベースのパフォーマンスチューニングは欠かせません。これを実現していくには、最低限「データアクセスの仕組み」を理解しておく必要があります。 第2回「リレーショナルデータベースの3大構成要素とは?」で解説した通り、SQL(Structured Query Language:リレーショナルデータベースのデータを操作するための言語)でのデータアクセスは、ディスクにある表のデータをメモリにロードしてから実行されます。そのため、非効率なデータアクセスはディスクI/Oの多発を招き、パフォーマンスに影響を及ぼします。データアクセス方法の効率とデータベースのパフォーマンスは密接に関係しています。 従って、パフォーマンス問題を抱えているシステムの多くはSQLによるデータアクセス方法に問題があると

    SQLチューニングの基礎知識 「データアクセスと索引(インデックス)」の関係を理解する
    MountainK
    MountainK 2009/01/29
    参考用
  • 1