タグ

InnoDBに関するGolgothaのブックマーク (13)

  • MySQLのクエリ集計手法いろいろ | Ore no homepage

    Webサービスを開発/運用してるモンとしては、いろんなWebサービスを触ってみなきゃアカンってことで、アメリカの若モンに大人気ってふれこみのsnapchatに登録してみた。これでリア充の仲間入りやと思ったが、snapchat友達が同僚二人しかいないうえに、利用シーンがあまり思い浮かばないww オジサン困っちゃいました。画像とか送信できるんだけど、数秒で消えるの。むしろそこがウリっていうね。どうやって遊ぼうか…。 2月はブログ書かなかったなーと思ったのでMySQL小ネタ。世間的にも自分的にも真新しくもなんともないTipsです。 innotopで集計 実は以前、Qiitaに書いたので↓をば。。。 http://qiita.com/la_luna_azul/items/505ca441b8c8e6a87aaa 流れるクエリ、ロックの状況、トランザクション(show engine innodb s

    MySQLのクエリ集計手法いろいろ | Ore no homepage
  • InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる

    この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - walf443's blogの記事にTwitterで少し言及したんですが、それの補足というか、InnoDBのロックの範囲について僕はこう理解していますよという話です。 MySQLといえば、InnoDBをネットワークサーバとして使うためのフレームワークであり、SQLはInnoDBのインデックスにアクセスするためのDSLといっても過言ではないでしょう。 InnoDBのロックとはつまるところインデックス行のロックなので、InnoDBのロックの範囲を理解するためにInnoDBのインデックスについて少し前置きしておきます(だいぶ端折ったけど長くなった…)。 クラスタインデックスとセカンダリインデックス すでにInnoDBのイン

    InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる
  • DSAS for Social での MySQL のボトルネックと今後の方針 : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の5日目です。 @methane による MySQL を骨までしゃぶるチューニングシリーズ (シリーズ名は今考えました)のまとめとして、現在の DSAS for Social の MySQL のリアルな性能値や直面しているボトルネックを赤裸々に公開 してしまいます。 innodb_io_capacity を増やそう 題に入る前に、まだ紹介してないけど1記事にするほどではなかった パラメータを紹介しておきます。 innodb_io_capacity は、 InnoDB に教えるヒントで、 Disk の IO/sec を指定します。 デフォルトでは、通常のHDDでも使えるように中途半端な値(バージョンによって100か200) になっているのですが、BBU付きバッファがあるRAIDカードを使うな

    DSAS for Social での MySQL のボトルネックと今後の方針 : DSAS開発者の部屋
  • SystemTapでMySQL 5.5のDisk I/Oを分析する - SH2の日記

    2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです。以前作成したSystemTapスクリプトは、実はMySQL 5.5のDisk I/Oを分析することができませんでした。というのも、MySQL 5.5からInnoDBが非同期I/Oを行うようになったのですが、以前のスクリプトは非同期I/Oに対応していなかったためです。日はMySQL 5.5におけるInnoDBの非同期I/Oについて、確認していきたいと思います。 非同期I/Oとは 非同期I/Oとは、I/O処理をブロックされることなしに行う方式のことです。通常のI/O処理はそれが完了するまで待たされてしまうのですが、非同期I/Oを用いることでI/O処理の完了を待つことなしに他の処理を進めることができます。以下のウェブサイトでとても詳しく解説されています。 バッファキャッシュとAIO(1) - O'Reil

  • MySQLのindexチューニングまとめ|Around the World

    MySQLのクロスチェックもぼちぼち場数踏んできたのでIndexまわりのまとめ。 まず ・ストレージエンジンは必ず確認する。 →indexの構成も変わるし、できればどっちでも試験したほうが○。 ・InnoDBはプライマリキーの値がセカンダリに載ってる。 →MyISAMでプライマリ含んだ複合とか張ってるところはInnoだと省略できる。 ・InnoDBいいけどcountはMyISAMのほうが速い。 ・テーブルのデータ件数を想定する。 →多くなるとこはなるべくindex張りたい(テーブル分割も考慮せよ)。 ・InnoDBだったら可能な限りプライマリキーを使う。 →indexに実データが載ってる。 ・張りまくってもメモリうし、index作るの時間かかるのでよくない。 EXPLAINで確認するとき ・typeにALLかrangeがきたら要チェック。 ・ExtraにUsing filesort, U

    MySQLのindexチューニングまとめ|Around the World
  • InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ

    http://www.mysql-ucj2007.jp/details/j25.html 木下 靖文 氏 NTTコムウェア株式会社 プロジェクト管理統括部技術SE部門 DB技術グループ (「InnoDB」は「いんのでーびー」と言うらしい...今まで「いのでーびー」と言ってました) InnoDBをなぜ使うか トランザクション コミット、ロールバック、セーブポイント 外部キー 行レベルロック オンラインバックアップ クラッシュリカバリ クラッシュリカバリ MyISAMはデータ量の増大とともに時間がかかる InnoDBはデータ量の増大との相関がない InnoDBチューニングの王道的アプローチ クエリを改善して全体的に処理効率を上げる データサイズをできるだけ小さく メモリをできるだけ多く積む コミット性能(同期書き込み) innodb_flush_log_at_trx_commit=1,0,2

    InnoDB のパフォーマンスチューニング - MySQLカンファレンス2007 - akiyan.com 管理人メモ
  • Scientific Linux/CentOS 6.0でMySQL InnoDB Pluginを利用する - SH2の日記

    先日CentOS 6.0がリリースされたので、色々試している方も多いと思います。MySQLについて、Scientific Linux/CentOS 6.0では派生元のRed Hat Enterprise Linux 6.0と同様、バージョン5.1.52が採用されています。このディストリビューション付属版のMySQL 5.1.52ですが、残念なことにInnoDB Pluginが無効化されてしまっています。 * Fri Jan 8 2010 Tom Lane <tgl@redhat.com> 5.1.42-4 - Sync with current Fedora build, including: - Update to MySQL 5.1.42, for various fixes described at http://dev.mysql.com/doc/refman/5.1/en/new

    Scientific Linux/CentOS 6.0でMySQL InnoDB Pluginを利用する - SH2の日記
  • MySQL InnoDBにおけるロック競合の解析手順 - SH2の日記

    データベースの運用で避けられないのが、ロック競合によって起こるシステムトラブルへの対応です。「2時までに終わるはずのバッチ処理が朝になっても終わっていない」とか「負荷が高いわけでもないのにシステムが無応答になっている」といったトラブルが発生したとき、DBエンジニアはそれがロック競合によるものなのかどうかを切り分けて、適切に対処しなければなりません。 これまでInnoDBはロック競合に対してほとんど打つ手がなかったのですが、最近ようやく対処方法がでてきました。今日はその手順を確認していきたいと思います。 前提 今回ご紹介する手順は、MySQLの以下のバージョンを対象にしています。 MySQL 5.1+InnoDB Plugin 1.0 MySQL 5.4 いきなりハードルを上げてしまって申し訳ありませんが、バージョン5.0以下や素の5.1では使えませんのでご注意ください。以降の実行例はすべて

    MySQL InnoDBにおけるロック競合の解析手順 - SH2の日記
  • layer8.sh

    This domain may be for sale!

  • たった3秒でInnoDBのデータローディングが快適になるライフハック

    MySQLに限った話ではないが、データベース管理システムに大量のデータを投入するのは時間が掛かり大変苦痛を伴う作業である。劇的に効能があるわけではないが、MySQLを利用しているとき、特にInnoDBを使っている場合にはデータの投入を高速化するためにいくつかテクニックがあるので紹介しよう。皆さんの作業時間が短縮され、少しでも早く帰路に着いたりサービスインさせたりという形でお役に立てれば幸いである。ちなみに、タイトルはネタであるのだが、もし当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい! ログファイルサイズの調整データ投入時に限った話ではないが、ログファイルサイズを調整するのは更新性能にとって非常に重要なファクターである。バッファプールのサイズが重要なことに代わりはないが、同じぐらいログファイルのサイズも重要である。InnoDBはログファイルを使い切ってしまうと、バッファプール

    たった3秒でInnoDBのデータローディングが快適になるライフハック
  • MySQL管理者最速マスター

    巷ではプログラミング言語の最速マスターが流行ってるので、MySQLも参戦。ただし管理者向け。 まずはダウンロードとインストールダウンロードサイト http://dev.mysql.com/downloads/ バイナリにはインストールパッケージ(Windows=MSI、Mac=DMG、Linux=RPMとか)とアーカイブ(*NIX=tar.gz/Windows=zip)があるけど、初心者は黙ってパッケージをチョイス。インストールはウィザードに従うだけ。英語だけどそこはガマン! パッケージリポジトリがあるOSを使ってるなら、リポジトリからインストールするのもありだ。例えば、 shell> sudo yum install mysqlとか shell$gt; sudo apt-get install mysqlとか。これは楽チンだけどMySQLのバージョンがちょっと古くなるので注意。 もちろん

    MySQL管理者最速マスター
  • これを知っておかないと、MySQLサーバの再起動でDBデータの不整合が発生するかもしれません! - よかろうもん!

    Railsに限らず、MySQL(Innodb)を利用したサービスを開発/運用しているなら、これから解説する内容を知っておかないと、予期しないデータ不整合を発生させてしまうかもしれません。 データ不整合が発生してしまったら、来あるべき状態に戻すのはかなり難易度が高いため、開発/運用をしているエンジニアは、データ不整合を起こさないようにすべきです。 では、どのようなことをすると、データ不整合をいとも簡単に発生させることができるかを解説します。 まずは、何が原因でデータ不整合が発生するかの簡単なモデルを紹介します。 以下のようなUserオブジェクトをcreateししたとします。 User.create(:name => "interu, :age => "27") すると、Userテーブルにデータが追加されます。 ■ Userテーブル id name age 1 user_a 30 2 use

    これを知っておかないと、MySQLサーバの再起動でDBデータの不整合が発生するかもしれません! - よかろうもん!
  • フツーな日常 - InnoDBを使うときのパフォーマンスチューニング

    ストレージエンジンとしてInnoDBを使うときはMyISAMのときと触るべきポイントが違うので注意。 http://www.mysqlperformanceblog.com/files/presentations/OSCON2004-MySQL-Innodb-Performance-Optimization.pdf を読みながら取ったメモ。状況としてはRedHat AS3.0で動かしたときのDBT2*1のパフォーマンスを改善していくというもの。MySQL デフォルト状態での分析 Handler_read_nextが多い、つまりrange scanかindex scanが多すぎる slow query logで何が悪いかを引っかける 例では2秒以上処理にかかったqeuryを記録するようにしている 結果を分析 update文が遅かったけど、update文そのままではexplainできないので、

    フツーな日常 - InnoDBを使うときのパフォーマンスチューニング
  • 1