タグ

MySQLに関するnumrockのブックマーク (8)

  • MySQL (InnoDB) における行のサイズと速度の関係について - kazuhoのメモ置き場

    集約演算を行うケースでは、行のサイズを小さく保つことはとても重要。アクセス頻度が低いコラムは別テーブルに追い出すとかしたほうがいいくらい。 一方、集約演算を行わないケース (単一行の insert, update 等を含む) の場合は、(クライアントとの通信のための) システムコールがオーバーヘッドになるので、小さなテーブルにたくさんアクセスをするよりも、長い行を持つテーブルに1回アクセスするほうが良い。 たとえば手元の環境での insert on duplicate key update の速度は、 行のサイズ 必要時間 0KB 1 3KB 4 6KB 7 9KB 13 12KB 13 とかそんな感じ (環境やクエリによる変わるので自分で測定してね。9KB の速度低下はページサイズの1/2を超えたからかな)。つまり、行のサイズが1KB程度だと、通信のオーバーヘッドが大きいからあまり問題に

    MySQL (InnoDB) における行のサイズと速度の関係について - kazuhoのメモ置き場
  • Kazuho@Cybozu Labs: Tritonn (MySQL+Senna) の join を高速化

    « setlock を使って cron をぶんまわす方法 | メイン | Range Coder の終了処理 » 2008年02月05日 Tritonn (MySQL+Senna) の join を高速化 自分の利用形態において、Tritonn の処理を最適化するパッチを書きました。具体的には、2種類の最適化を行いました。ひょっとするとバグがあるかもしれませんが、興味がある方は、以下のパッチ (tritonn-1.0.9用) とあわせてごらんください。 1. 全文索引内にプライマリキーを格納 SQL クエリを最適化する際、アクセスしたい全カラムを格納したインデックスを作成することで行データへのアクセスを抑止して速度を稼ぐ、というのは定石のひとつです。しかし、MySQL の全文索引 (フルテキストインデックス) では、他のカラムと組み合わせた複合キーを作成することができません。このことが、T

  • たけまる / Senna - 2ind 機能の奇妙なノウハウ

    _ Senna - 2ind 機能の奇妙なノウハウ [senna] MoSQL [2007-07-04-1] をインストールしてから,全文検索エンジンの Senna を使っています. 2ind 機能とは, MySQLではクエリを実行する際、1つのテーブルに対してFULLTEXTインデッ クスと他のインデックスを組み合わせて利用(インデックスマージ)する ための機能です.2種類のインデックスを利用するので,"2ind(ex)" とい うようです.たとえば,全文検索結果を日時でソートするときなどに使え て便利です. ところが,まだβ版ということで,奇妙な振る舞いをすることがあります. それを解決するためのノウハウを紹介します. 以下,Senna のインデックスを FULLTEXT インデックス,他のインデック スを Normal インデックスと呼びます. 目次 - テストした環境 - 2ind

  • MySQL :: MySQL Users Conference Japan 2007 開催のご案内

    購入に関するお問い合わせ 0120-33-9096 03-5717-5033 (携帯電話用) 【電話受付時間】 平日 9:00-11:45、13:00-17:00 USA - Toll Free: +1-866-221-0634 USA - From abroad: +1-208-327-6494 USA - Subscription Renewals: +1-866-830-4410 UK: +44 845 399 1124 Ireland: +353 1 6919191 Germany: +49 89 420 95 98 95 France: +33 1 70 61 48 95 Sweden: +46 730 207 871 Benelux: +358 50 5710 528 Italy: +39 06-99268193 Israel: +358 50 57

  • MySQL Conference & Expo 2007 - とあるはてな社員の日記

    一昨日から今日まで3日間の日程で開催されていた、MySQL Conference & Expo 2007に行ってきました。日帰り圏内どころか、自転車圏内で、こういうカンファレンスがあるのは、素晴しいです。 詳細は、随時アップされるであろうプレゼン資料と、Planet MySQLに大量の報告があります(全部英語ですけど)。 個人的に注目していたのは、Digg.com、Flickr.comとYoutube.comのDB周りアーキテクチャのセッションでした。あとは、http://www.mysqlperformaceblog.com/の人のセッションは、細かいTipsが多く、具体的にだいぶ役に立ちそうです。 というわけで、簡単に注目したセッションの内容を紹介してみます。ちなみに、内容の正確さは無保証です:P 気が向けば、もっといろいろ考察してみるかもしれません。 Technology at Di

    MySQL Conference & Expo 2007 - とあるはてな社員の日記
  • MySQL 5 の場合はmytopよりinnotopのほうがいいかも - (ひ)メモ

    MySQLのモニタするのに便利なmytopなんですが、MySQL 5に対して使うと、クエリの割合表示が全部ゼロになってしまったります。 これは、MySQL 5.0.2でSHOW STATUS文が変更され、GLOBALかSESSIONというオプションを指定できるようになったことに起因します。このオプションを省略した際はSESSIONを指定したときと同じ動作となり、SHOW STATUS文で得られるのは自分自身の接続についての情報のみとなります。 mytopはオプションなしのSHOW STATUS文を使っているので、MySQL 5ではmytop自身の接続についての情報しか得られず、その影響として、クエリの割合表示が全部ゼロになってしまったりするわけです。 対応は簡単で、mytopのSHOW STATUSをSHOW GLOBAL STATUSに書き換えればいい(書き換えるとMySQL 4.1以前

    MySQL 5 の場合はmytopよりinnotopのほうがいいかも - (ひ)メモ
  • MySQL

    MySQL HeatWave MySQL HeatWave is a fully managed database service for transactions, real- time analytics across data warehouses and data lakes, and machine learning services, without the complexity, latency, and cost of ETL duplication. It is available on OCI, AWS, and Azure. Learn More » MySQL Enterprise Edition The most comprehensive set of advanced features, management tools and technical suppo

  • DBIx::Class::ResultSetManagerが素敵な件 - 日向夏特殊応援部隊

    はじめに DBIx::Class::ResultSetManagerを使うとTableクラスの中のメソッドとして、ResultSetの拡張を記述する事が出来ます。*1 ちなみにまだ実験段階のモジュールのようです。 あしからず。 以下ドキュメントのSYNOPSYSをそのまま。 # in a table class __PACKAGE__->load_components(qw/ResultSetManager Core/); # note order! # will be removed from the table class and inserted into a # table-specific resultset class sub search_by_year_desc : ResultSet { my $self = shift; my $cond = shift; my $at

    DBIx::Class::ResultSetManagerが素敵な件 - 日向夏特殊応援部隊
  • 1