タグ

2008年3月15日のブックマーク (6件)

  • MySQLについて 伍 - インデックスについて

    通常、MySQLでは、selectコマンドを実行した場合、1レコード目から最終レコードまで、シーケンシャルに検索を行っていきます。 しかしながら、レコード数が大量になってくると、検索速度の問題が生じます。 そこで、より高速な検索を行うために、インデックスを作成するのが一般的です。 インデックスを作成することによって、検索速度は劇的に改善されます。 但し、MySQLでは、1,000件以下であればシーケンシャルに検索した方が速いとされています。 さて、インデックスとはどのようなものであるかというと、直感的には、図書の巻末に付されている索引(インデックス)と同じです。 索引語はアイウエオ順、あるいは、アルファベット順に並べられていて、各々の索引語には、その索引語が登場するページ数(位置情報)が示されています。 読者はその位置情報を頼りに、ページを捲って、目的のキーワードのある部分を読

  • 認証がかかっています

    こちらのブログには認証がかかっています。 ユーザー名 パスワード Powered by Seesaa

  • ウノウラボ Unoh Labs: MySQL5からのインデックス結合で1テーブル複数インデックスを使う

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: MySQL5からのインデックス結合で1テーブル複数インデックスを使う
  • MySQLのUsing Filesort : Bacteria.jp

    週に一度か二度、Bacteriaが管理するサイトは大規模なプロモーションをすることがある。 140万通ものメール広告でもってやるわけだけど、そのレスポンスが強烈に重い。 サーバが悲鳴を上げているのがわかる。 ちょっと重すぎるよこれどうなってんのってことで、MySQLのslow_queryで分析をはじめることにした。 すると一番最初に引っかかったのが下記の事例だった。 MySQLにクエリを投げる場合、Explainして最も見たくないのがUsing file sortの文字だ。 file sortは負荷がかかると、Using Temporaryまで出てき始める。 こうなるともうお手上げで、クエリは結果を表示するためにディスクアクセスを繰り返し、速度は低下の一途をたどることになる。 file sortが発生するときは、たいてい決まっているがorder byを使うときだろう。 そりゃそ

  • MySQL 複合インデックスだそうです : にぽたん研究所

    livedoor Blog の商売仇かと思われる Seesaa BLOG の中の人「しーさーのパパ」さんが書いている Seesaa開発日記に、「MySQL - 複合インデックスのすすめ」という興味深いエントリがあった。 ちなみに、おいらは今の会社に入社するまでの間、MySQL 自体は自宅で遊ぶ程度にしか使ったことなかったのです。 まともに使って速さにビクーリしたりしていましたが、それでもロクにパフォーマンスチューニングとかしたことがないので、もっと速くしようとする努力を怠ってました。 特にインデックスなんつーものは WHERE 節で使うものに個別に張ればいいんじゃないかと思ってましたし。 でも、WHERE 節と違う ORDER BY が入ると filesort が入ってきて遅くなるんですねぇ。 目からウロコでした。 ということで自宅サーバで実験してみた。 嫌なテーブル名だけど。。。 ちな

    MySQL 複合インデックスだそうです : にぽたん研究所
  • [MySQLウォッチ]第38回 インデックスの劣化と再生

    データベースは,大量のデータを格納して目的に合わせて処理するのが役割である。処理を高速化する機能として,インデックスが用意されている。インデックスは,あらかじめ検索やソート対象となる列のデータを処理しやすいように別管理するものだ。インデックスを使いこなせるかどうかで,データベース処理の良し悪し決まるといっても過言ではない。しかし,インデックスいつまでも高速ではない。その効果が,色褪せる時がやってくるのだ。 インデックスの効用 まずは,肩慣らしにインデックスの効用を確認する。テーブル「pono」は,日郵政グループの日郵便事業株式会社が提供している郵便番号データを格納したテーブルだ。 図1●テスト用のテーブル「pono」 mysql> show create table pono \G *************************** 1. row *****************

    [MySQLウォッチ]第38回 インデックスの劣化と再生