DBに関するask11のブックマーク (11)

  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
    ask11
    ask11 2009/04/07
  • SQLチューニングの基礎知識 「データアクセスと索引(インデックス)」の関係を理解する

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

    SQLチューニングの基礎知識 「データアクセスと索引(インデックス)」の関係を理解する
    ask11
    ask11 2009/01/30
  • SLOBSERVER - L'actualité de Second Life

    Not sure where to start? Get going with our crush course for beginners and create your first project.

    SLOBSERVER - L'actualité de Second Life
    ask11
    ask11 2008/05/14
  • 何となくじゃダメ!データベースをきっちり理解する--WebデザイナのためのPHP入門 - builder by ZDNet Japan

    データベースを知ってWebサイトをパワーアップ 例えばショッピングサイトを作ることを考えてみよう。 「価格が安い順に並べたい」とか、「入力したキーワードに一部でも合致したら、その商品を表示する」とか、はたまた「最初に20件だけ表示して、『次のページへ』のリンクをクリックすると、次の20件を表示する」といった具合に、さまざまな機能を思い浮かべることができるだろう。 いったい、どれだけ難しいテクニックが必要なのかと思われるかも知れない。また、実際にWebプログラマに提案しても「難しすぎるので無理」などといわれるかも知れない。 しかし、実際にはこのようなデータ処理は「データベース(DB)」を利用してさえいれば、実に簡単に実現することができる。是非、デザイナの皆さんもデータベースの知識を身につけ、理論武装でプログラマを説得してみて欲しい。 データベースはソフトの種類の名前 まず最初におさえておきた

    何となくじゃダメ!データベースをきっちり理解する--WebデザイナのためのPHP入門 - builder by ZDNet Japan
    ask11
    ask11 2008/03/25
  • 【続報】東証が緊急会見、システム障害の引き金はデータベースのデッドロック

    3月10日に東京証券取引所の株式売買システムで障害が発生し、午前9時から午後1時まで2銘柄が売買できなかった問題(関連記事1、関連記事2)で、東証は同日午後5時から緊急の記者会見を開いた。鈴木義伯常務取締役CIO(最高情報責任者)は、「データベースのデッドロックが引き金だった」と説明した(写真)。 デッドロックが発生したのは午前8時59分43秒から44秒にかけて。午前の取引が始まる午前9時の直前だ。複数銘柄の注文を1つにまとめた「バスケット取引」のトランザクションと、同注文に含まれる一部銘柄の訂正注文のトランザクションとの間で起こった。 2つのトランザクションが、それぞれどのようなデータベースをロックしたまま放さなかったのかについては公表を避けたが、注文データを格納するデータベースと、バスケット取引のデータを格納するデータベースの2つだったとみられる。 オンラインでデータベースを更新するト

    【続報】東証が緊急会見、システム障害の引き金はデータベースのデッドロック
    ask11
    ask11 2008/03/11
  • MySQL トランザクション - とみぞーノート

    トランザクションを使うと複数のクエリをまとめて1つの処理として扱うことができる。処理の途中でエラーになって処理を取り消したいような場合はROLLBACKをすることで変更内容を元に戻すことができる。 トランザクションはデフォルトのMyISAM形式のテーブルでは使用できない。トランザクションが使用できるテーブルにはInnoDB,BDBなどがある。以下ではInnoDBを使って説明する。 1.InnoDBテーブルの作成 新規に作るテーブルをInnoDBにするには、以下のようにする。 mysql> CREATE TABLE friends (id SERIAL, name VARCHAR(30) NOT NULL, address VARCHAR(100), birthday DATETIME) TYPE=InnoDB; 既存のテーブルをInnoDBに変更する場合は以下のとおり。 mysql> AL

    ask11
    ask11 2008/03/10
  • 第11回 トランザクション処理に詳しくなろう

    富山県高岡市 株式会社イーザー副社長。昔は1月初旬に積雪がないと「いい正月やね。雪なーて」と富山弁であいさつしたものだが,現在は地球温暖化を目のあたりにするようで不気味だ。でも,会社まで公共交通機関はなく,雨やときおり雪が降るので車で通勤している。徒歩や自転車に変えなければと思うのだが,冬場はやはり億劫だ。 「トランザクション処理は関連する複数の処理をまとめて,一つのユニットとして実行する処理方式です」──データベースの入門書にはたいていこんな風に書いてあります。 説明用の最も多い図解が,図1のような銀行の口座間の振替処理ではないでしょうか。Aさんの口座から5万円出金した後で,何らかの原因でBさんの口座に入金することができなかったら,5万円が宙に浮いてしまいます。 トランザクションとして一つのユニットとして実行することで,更新処理をALL or Nothingの状態にできるので,中途半端な

    第11回 トランザクション処理に詳しくなろう
    ask11
    ask11 2008/03/10
  • MySQLの最適化

    限りなく眠気を誘うPHP Internalsのセッションから逃げる。こっちの 講師はMySQL.comの人。講演慣れしていて、ずっとまともでプロフェッショナルな 感じ。午前中を逃したのが惜しいが、詳しいプレゼン資料は後日公開される らしい。 DELETEのコストはかなり高い 読みだしがすごく多い場合は無効化を示すフィールドを作りUPDATEすべき、 index更新のコストが馬鹿にならないSHOW STATUSの表示結果の解析方法 起動ごとに初期化、全データベースに共通rnd と rnd_next の割合Key_reads : Key_read_requests 、ディスクから読まれた回数:総回数 この割合が1:100より悪くなったら要注意Key_write_requests:Key_writes 総書き込み要求回数:ディスクに書き込ま れた回数 キャッシュの効果などMax_used_con

    ask11
    ask11 2007/12/27
  • SQL Injection Cheat Sheet

    Examples; (MS) means : MySQL and SQL Server etc. (M*S) means : Only in some versions of MySQL or special conditions see related note and SQL Server Table Of Contents About SQL Injection Cheat Sheet Syntax Reference, Sample Attacks and Dirty SQL Injection Tricks Line Comments SQL Injection Attack Samples Inline Comments Classical Inline Comment SQL Injection Attack Samples MySQL Vers

  • http://www.mysql.gr.jp/

    ask11
    ask11 2006/06/01
  • 基本編 - SQL便利帖

    ask11
    ask11 2006/06/01
  • 1