タグ

ブックマーク / sh2.hatenablog.jp (12)

  • チューニンガソン5の復習 MySQL 5.6 新機能編 - SH2の日記

    というわけで、MyNA(日MySQLユーザ会)会 2013年3月に参加して発表をしてきました。とてもリラックスして話をすることができました。司会進行の坂井さんをはじめ日MySQLユーザ会のみなさま、日オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは前回のエントリの続きということで、MySQL 5.6の新機能Optimizer Traceを活用しながら正攻法でのチューニングを行っていきました。とはいえ途中から正攻法ではなくなっていた気もします。MySQL 5.6でRDBMSとしての土台はしっかりしてきたと思いますので、今後は高度な統計情報を使用したSQL実行計画の最適化といったところにも機能強化が施されていくのではないかと期待しています。 プレゼンテーション資料 (PDF) EXPLAINとOptimizer Traceの出力結果 プ

    チューニンガソン5の復習 MySQL 5.6 新機能編 - SH2の日記
    ocs
    ocs 2013/03/18
  • MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記

    いちいさんにお誘いいただいて、勉強会で発表をすることになりました。 InnoDB Deep Talk #1 : ATND おそらく初見では内容が難しいと思いますので、先に資料を公開しておきます。 プレゼンテーション資料 (PDF) テストデータ生成スクリプト (JdbcRunnerで利用します。) プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Bugs: #64567: Last_query_cost is not updated when executing an unique key lookup Understanding and Control of MySQL Query Optimizer: Traditional and Novel Tools and Techniques: MySQL Conference & Expo 2009 - O'R

    MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記
    ocs
    ocs 2012/03/11
  • MySQL InnoDBのネクストキーロック おさらい - SH2の日記

    MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例で確認してみましょう。 mysql> select * from t; +----+------+ | c1 | c2 | +----+------+ | 10 | a | | 15 | a | | 20 | a | | 25 | a | | 30 | a | | 35 | a | | 40 | a | | 45 | a | | 50 | a | +----+------+c1列は主キーになっています。1つめのセッションで以下のSQLを実行します。 mysql> set tx_isolation = 'repeatable-r

    MySQL InnoDBのネクストキーロック おさらい - SH2の日記
    ocs
    ocs 2011/05/26
  • MySQLのライセンスおよび価格について - SH2の日記

    このエントリは、Get The Facts: MySQL Licensing and Pricing (Oracle's MySQL Blog)の翻訳記事です。 MySQL Community EditionにInnoDBが引き続き含まれるかどうかという混乱については、すでに疑いは晴れたものと思います。Sheeri Cabral、Darren Cassar、そしてキャッチーな見出しの記事によって生み出された誤解を解くのを助けてくれたみなさまに感謝いたします。混乱の一部は、MySQL Classic Edition(長い間組み込み向けとして存在していたものです)をMySQL Community Editionと同じものだと思い込んでしまったがために引き起こされたものです…、が、もちろんこれらは異なるものです。このことをはっきりさせるために、私たちはウェブページを適切に修正しました。 数多くの

    MySQLのライセンスおよび価格について - SH2の日記
    ocs
    ocs 2010/12/16
  • MySQL innodb_flush_method = O_DIRECTの検討 - SH2の日記

    MySQL InnoDBのパラメータでinnodb_flush_methodというものがあります。これはUNIX/Linuxにおいてデータファイル、ログファイルの読み書き方式を指定するためのもので、マニュアルの13.6.3. InnoDB Startup Options and System Variablesによると以下の3種類の設定が可能とされています。 無指定(fdatasync):デフォルトの設定です。特別なフラグなしでファイルをオープンし、書き込み時にfsync()を行います。 O_DSYNC:データファイルについてはfdatasyncと同じです。ログファイルについてO_SYNCフラグをつけてファイルをオープンします。 O_DIRECT:データファイルについてO_DIRECTフラグをつけてファイルをオープンします。ログファイルについてはfdatasyncと同じです。 今回はこのパ

    ocs
    ocs 2010/12/16
  • MySQL 5.5.8 GAリリース - SH2の日記

    MySQL 5.5の正式版がリリースされました。 MySQL 5.5 Now Generally Available - Oracle Press Release MySQL 5.5 is GA - Interview with Tomas Ulin What Is New in MySQL 5.5 - MySQL 5.5 Reference Manual Changes in MySQL 5.5.8 - MySQL 5.5 Reference Manual Download MySQL Community Server MySQL 5.1から実に2年ぶりのメジャーバージョンアップです。以前から2010年中のリリースがうたわれていたのですが、無事間に合って良かったです。MySQL 5.5の主な新機能、特長は以下の通りです。 デフォルトのストレージエンジンがInnoDBに変更 性能とスケーラ

    MySQL 5.5.8 GAリリース - SH2の日記
    ocs
    ocs 2010/12/16
  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
    ocs
    ocs 2010/07/05
  • ServersMan@VPSでMySQL InnoDB Pluginをあきらめない - SH2の日記

    DTIの仮想専用サーバServersMan@VPSを借りてみました。 Entryプランはメモリが256MBでまあ足りるだろうと思っていたのですが、ServersMan@VPSではOpenVZという仮想化ソフトウェアを使っていて、なんとスワップの利用が禁止されているのだそうです。つまりなにがなんでも総メモリ使用量を256MB以下に抑える必要があります。ちょっと難しそうです。 とりあえずMySQL 5.1.45をインストールして、すべてデフォルトで起動するとこんな感じです。 # free -m total used free shared buffers cached Mem: 256 23 232 0 0 0 -/+ buffers/cache: 23 232 Swap: 0 0 0 # service mysql start Starting MySQL. SUCCESS! # free

    ServersMan@VPSでMySQL InnoDB Pluginをあきらめない - SH2の日記
    ocs
    ocs 2010/04/24
    「本来MySQLではthread_stackというパラメータでスレッドごとのスタックサイズを設定できるのですが、どうもInnoDBスレッドにはこの設定が効かないようです。」なんとっ
  • MySQL 5.1のmysqldumpslowで快速チューニング - SH2の日記

    MySQL 5.1のmysqldumpslowを使うとチューニングが楽になる!という話題です。 mysqldumpslowはもともとMySQLに付属しているツールで、スロークエリログを集計してくれるものです。これ自体はMySQL 5.1で特に変わったところはありませんが、スロークエリログ体の方が機能強化されているため、組み合わせるとなかなか便利になっています。MySQL 5.1におけるスロークエリログの主な機能強化は以下の三点です。 long_query_timeに1秒未満の値を設定できるようになった。 出力先を設定できるようになった。 これらの設定をオンラインで変更できるようになった。 これでどうなるかというと、MySQLの性能分析をしたいと思ったときに、サーバを止めずにその場で mysql> set global slow_query_log = 1; mysql> set glob

    MySQL 5.1のmysqldumpslowで快速チューニング - SH2の日記
  • MySQL 5.1.42リリース - SH2の日記

    出ました。元旦リリースです。あけましておめでとうございます。 今回はバグ修正が48件あり、そのうちレプリケーションに関するものが4件、パーティショニングに関するものが3件となっています。同梱されているInnoDB Pluginは1.0.6にバージョンアップしており、こちらは1.0.5に引き続きRC(リリース候補)版となっています。InnoDB Pluginはバグ修正のみが行われており、前回のような新機能の追加は無いようです。 MySQL 5.0のアクティブライフサイクル期間が2009年末で終了したということで、今日は半年前に作ったバグ曲線のグラフを描き直してみました。 MySQL 5.1は相変わらずまっすぐ伸びてますね。ちなみに私はこのグラフを見て「まだこんなにバグがあるのか」ではなくて「きちんとした品質管理体制が維持されている」と考えます。 それでは、今年もよろしくお願いいたします。

    MySQL 5.1.42リリース - SH2の日記
    ocs
    ocs 2010/01/05
  • PHPを組んで作業するのは実力ではないですか? - SH2の日記

    私の職業はWebエンジニアですが 少しPHPがわかるのでルーチン化できるものはPHPを組んでいます。 そうすることによってJavaで1時間かかる作業が1分で終わることがあります。 なので職場では「仕事が早い、仕事ができる」と評価されることがありますが 先日先輩に怒られました。 内容は ・PHPを使うのはずるい ・それは実力ではない ・仕事が早いというのは同じ環境でどれだけ間違いがなく効率よく作業ができるかだ。 ・PHPを組むのはズルとしているのを同じ と。 確かにJavaで行なえば周りの人と同じくらいの速さなので 周りと同じ環境であれば(PHPを組まなければ)仕事が早いとは言えないかもしれません。 しかし業務をどう効率よくして作業をするかを考え実践するのも仕事のうちだと思うのですが 私の考えは間違ってますか? XSSもチェックするコードを書いたので、ミスはありません。 「PHPを組んだ方が

    PHPを組んで作業するのは実力ではないですか? - SH2の日記
    ocs
    ocs 2009/11/07
  • MySQL 5.1.36リリース - SH2の日記

    出ました。MySQL 5.1.36には機能追加・変更が4件、バグ修正が50件あります。このうちサーバがクラッシュするバグが11件、またレプリケーションに関するImportant Changeが2件出ており、いつもより多い印象を受けます。 今回のポイントはBug #44352です。cp932およびsjisの環境で、upper()、lower()ファンクションが誤動作するというバグです。 mysql> create table t (c1 varchar(10)) character set cp932; Query OK, 0 rows affected (0.02 sec) mysql> insert into t (c1) values ('ビタミン'); Query OK, 1 row affected (0.00 sec) mysql> select upper(c1) from t

    MySQL 5.1.36リリース - SH2の日記
    ocs
    ocs 2009/07/02
    このときのMLは久々に燃える展開だった
  • 1