タグ

MySQLとSQLに関するGegegeMokekeのブックマーク (6)

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • MySQLでランダムにデータをとりだす。を高速化する。|MySQL|プログラムメモ

    MySQLでランダムにデータを「10件」取り出すには SELECT * FROM table ORDER BY rand() limit 0 10; とします。 ちなみにpostgreSQLでは【 SELECT * FROM table ORDER BY random(); 】と書きます。 しかしこれはテーブル全件を走査するので非常に遅い。 そこで少し早くするには以下のようにします。 (例)SELECT id , data FROM table ORDER BY rand() ; で取り出したいカラムのみを指定する。 これだけでずいぶんと速くなります。

  • MOONGIFT: » MySQLの高度な管理ツール「Maatkit」:オープンソースを毎日紹介

    最近のWebサービス開発ではオープンソースのデータベースを利用することが多くなってきた。それだけ信頼性や安定性も向上してきたということだろう。以前はPostgreSQLの方が人気があったが、最近ではMySQLを選ばれる方が多いようだ。 mk-parallel-dumpのヘルプ そうした中で、必要になってくるのがMySQLの管理ツールだ。特に規模の大きな開発を進める上で、デフォルトのツールだけでは物足りないと感じていた人は、こちらのさらに洗練されたツールを使ってみよう。 今回紹介するオープンソース・ソフトウェアはMaatkitMySQL向けのコマンドラインツール群だ。 MaatkitPerlで作られたソフトウェアで、MySQLの高度な操作を可能にするツールが幾つも提供されている。それらはmk-ではじまる名前のコマンド名になっている。執筆時点では19の機能がある。 コマンド一覧 主なコマン

    MOONGIFT: » MySQLの高度な管理ツール「Maatkit」:オープンソースを毎日紹介
  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

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

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

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

    [English page] Ruby で記述された MySQLRuby API です。MySQL の C API とほぼ同等の機能があります。MySQL/Ruby と ほぼ互換があります。 現在のところ、MySQL 4.1.x では使用できません(mysqld に --old-passwords オプションをつければ使用できるかも)。 黒田 亮 <akuroda at gmail.com> さんが MySQL 4.1.x でも使用できるパッチを作ってくれました。 そのうち取り込むつもりですが、とりあえず置いておきます。 必要なもの Ruby 1.8.2 ライセンス このプログラムは Ruby ライセンスに従います。 ダウンロード ruby-mysql-0.2.6.tar.gz ruby-mysql-0.2.5.tar.gz ruby-mysql-0.2.4.tar.gz ruby-

    GegegeMokeke
    GegegeMokeke 2007/05/30
    ピュアRubyで出来ているmysqlと接続するときにいるやつ
  • 1