タグ

sqlに関するstoplayinのブックマーク (8)

  • Entity-Attribute-Value: SQL アンチパターン - ペンギンラボ Wiki

    Bill Karwin “SQL Antipatterns: Avoiding the Pitfalls of Database Programming” の読書メモ。 Jaywalking 目的 ある属性について、複数の値を持たせる。 アンチパターン : カンマ区切りリスト カンマ区切りで複数の値を 1 つの列に納める。 例では、特定の製品についての担当者を複数設定するのにカンマ区切りで、担当者のアカウントIDを記述している。 create table products ( product_id integer, product_name varchar(1000), acount_id varchar(100), -- comma separated list -- ... ); insert into products (product_id, product_name, accou

  • @IT:連載記事 「Oracle SQLチューニング講座」

    パフォーマンス向上の最短コースを知る Oracle SQLチューニング講座(1) SQLチューニングでDBパフォーマンスは数百倍も向上する。まずはRDBMSの構造を知り、チューニングの優先順位を理解しよう

  • SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)

    14. SELECT c1.*, c2.*, c3.*, c4.* FROM Comments c1 -- 1階層目 LEFT OUTER JOIN Comments c2 ON c2.parent_id = c1.comment_id -- 2階層目 LEFT OUTER JOIN Comments c3 ON c3.parent_id = c2.comment_id -- 3階層目 LEFT OUTER JOIN Comments c4 ON c4.parent_id = c3.comment_id -- 4階層目 アンチパターンにより起こること 素朴すぎる故に アンチパターン

    SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
  • トランザクションの一貫性を保証するロック

    ロックの仕組み 第25回、26回と2回にわたりトランザクションの話をしてきました。第25回でも簡単に触れましたが、トランザクションの一貫性を保証するために、データベースサーバはロックという仕組みを利用しています。今回と次回にわたって、このロックの仕組みについて解説することで、トランザクションの裏側を解明したいと考えています。 では早速、例題を実行しながら、SQLの確認をしていきましょう。 トランザクション中の最新データを確認する 初めに、第25回で実行した例題1と同じような例題を実行してみましょう。第25回の例題1は、1人のユーザーがデータを更新中には、もう1人のユーザーはデータの参照ができないことを確認する例題でした。第25回の例題と同様に、2つのクエリアナライザを起動して、片方はログイン名「sa」で、もう片方はログイン名「yamada」でログインをします。 では、まず例題1でログイン名

    トランザクションの一貫性を保証するロック
  • 「教えて!Ziddyちゃん」サービス終了およびサービス移行のご案内

  • 待ちイベントに関する検証 その3 - InsightTechnology 旧ブログ

    <待ちイベントに関する検証 その3> ペンネーム: ダーリン 【latch: shared pool/library cache】 シシです。イノシシです。猪突猛進の年が始まりました。 もう進むしかありません。前だけを見つめて心惑わすことなく Oracle の世界 に浸りましょう。今年は 11g もやってきそうだし。 さて、ちょっと長めのお休みをいただきましたので前回までを軽く振り返りま しょう。 今回のシリーズでは、待ちイベントにフォーカスして SQL の処理の流れを追 いかけてみることをテーマにしています。 1回目と、2回目は、DBへの入り口になるネットワーク関連の待ちイベントを探 ってみました。 通常 Idle イベントに分類されるものに関しては、監視しなくてもよいといわ れることがありますが、FETCH SIZE (SQL*Plus では ARRAY SIZE)をちょっと 変更する

  • MySQL初心者入門講座

    格的なプログラミングを学びたい場合は Java初心者入門講座 を次のステップとしてご活用ください。 ・Web系のプログラミングを学びたい場合は PHP初心者入門講座 を次のステップとしてご活用ください。 MySQLのデータベースを操作するには、いろんな方法(管理ツール)があります。 操作とは、データベース、テーブル、クエリなどへ対する参照・作成・追加・修正・削除などのことです。 これまでにも当入門講座では、 コマンドプロンプトやAccessを使った方法を紹介してきましたが、 もう一度まとめてみます。 MySQLをパソコンにインストールすると、 Windows付属のコマンドプロンプトから、コマンドラインで操作できるようになります。 これは講座の手順で、MySQLのbinフォルダに環境変数のPATHを通したため、 MySQL関係のプログラムがすぐに実行できるからです。 でもコマンドプロンプ

    MySQL初心者入門講座
  • SQLの実行を「見える化」する

    システム性能の重要な位置を占めるデータベースのパフォーマンス ソフトウエアが大規模化、複雑化していく中で、システムのパフォーマンス問題にかかわるトラブルの話を多く耳にします。「安定稼働していたシステムが突然遅くなった」「テスト段階では問題がなかったのに、稼働で思ったようなパフォーマンスが出ない」「新しい環境に移行したら途端に性能が出なくなった」など。 これらの症状には、さまざまな原因が考えられます。実際には、複合的にいろいろな要素が絡み合っていることが多く、一概に「ここが悪い」と指摘することはできません。 しかし、多くのシステムでデータベースにかかわるパフォーマンス問題が発生しているのは事実であり、しかも、その性能劣化が、指数関数的に拡大していることが多いことを見逃すことはできません。データベースにかかわるパフォーマンス問題は、ハードウエアパフォーマンス、ネットワークパフォーマンス、DB

  • 1