タグ

MySQLと開発に関するd4-1977のブックマーク (17)

  • GitHub - xaicron/mysqlenv: mysql binary manager

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - xaicron/mysqlenv: mysql binary manager
  • 社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late

    社内で, 主に MySQL 初学者を対象とした勉強会をやってきました. 社内勉強会ということで, というと言い訳になりますが, いつも以上にゆるふわな内容となっています. 改めて見るとソースどこだよ? っていう情報がいくつかあるので反省. (「RDBMS を使いつつ, NOSQL で最適化というパターンがほとんど」とかどこのことだよと. まぁ Tumblr とかはそれにあたるみたいですが) あと, インデックスの仕組みを単純化して話すために B-Tree じゃなくて Binary Search Tree について紹介してますが, この辺も詳しい方の突っ込みが欲しい所です. ところで勉強会に参加していてよく思うのですが, 勉強会というのは自分で発表してナンボだということです. これは勉強会で人の話を聞くのは意味が無い, ということではなくて, 自分で調べたときの方が 30 倍ぐらい身に付くん

    社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late
  • MySQLでSQL_CALC_FOUND_ROWSとFOUND_ROWSを使うと速いの? « ku

    速いです。 FOUND_ROWS() を使うと直前のLIMITつきSELECTでLIMITしなかったときに帰ってきたはずのレコード数が得られるのでページネーションしたいときに便利。でも SELECT のあとに SQL_CALC_FOUND_ROWS を入れとかないといけないというルールがある。 SELECT COUNT(*) .... するよりも高速ですよ、ってマニュアルには書いてあります。 書いてあるのをなんでそんなことを確認したくなったかというとcakePHPのSELECTステートメントを構築する部分が cake/libs/model/datasources/dbo_source.php で function renderStatement($data) { extract($data); return "SELECT {$fields} FROM {$table} {$alias}

    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • mysqlのSQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得 - end0tknr's kipple - web写経開発

    http://d.hatena.ne.jp/ZIGOROu/20091126/1259218194 http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#function_found-rows mysqlって、SQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得できるんですね。 ということは、Data::Pageと組み合わせて、次のように書けばいいのかな? use Data::Page; my $PER_PAGE = 50; #1page毎の表示件数 sub get_item_list { my ($self,$pno) = @_; #とりあえず、total size = $pno * $PER_PAGE にしときます my $page = Data::Page->new($pno *

    mysqlのSQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得 - end0tknr's kipple - web写経開発
    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊

    LIMIT 〜 OFFSET なんか使う SELECT 文をページ送りとかしたい場合、全体の件数が必要だったりして、 SELECT * FROM people LIMIT 50 OFFSET 0; SELECT COUNT(guid) FROM people; みたいな感じの事やりたい訳だけど MySQL の場合だと、そういう枠組みがあるんですよね。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.10.3 情報関数 - FOUND_ROWS() さっきのクエリはこんな風になる、 SELECT SQL_CALC_FOUND_ROWS * FROM people; SELECT FOUND_ROWS(); これ、使いたいなと思った時に毎回忘れてググってたので備忘録として書いた。

    SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊
    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • 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の日記
  • HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

    HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか 目次 この記事について FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか 背景 概観 詳細 一貫性と原子性 性能 FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか この記事について "How FriendFeed? uses MySQL to store schema-less data" の日語訳です http://bret.appspot.com/entry/how-friendfeed-uses-mysql CC 2.5 でライセンスされています: http://creativecommons.org/

  • 眠る開発屋blog|最新オンラインカジノのニューカジノ情報

    もしもこの世から「残業」が完全になくなったら 3年ぐらい前に読んだを思い出した。 1980−90年代の話ですが、残業について、 「時間外・休日労働の弾力的運用が我が国の労使慣行の下で雇用維持の機能をはたしている」(1985年労働基準法研究会報告)とか、「我が国の労働慣行の実情に合うような上限設定が可能かどうか定かでない」(1992年同報告)と、雇用維持の為のコストとして恒常的な長時間労働を是認する考え方が主流でした。 需要の低下に応じて、生産水準を下げなくてはならなくなっても、バッファがあるから解雇せずに大丈夫でしょ、という。。。 まぁ、 ところが、その後、労働法政策が内部労働市場の雇用維持から外部労働市場における移動促進に徐々にシフトしていったにもかかわらず、この長時間労働哲学には疑問が呈されないまま21世紀に至っているのです。 と著者は問題視しているわけだけど。 話変わって、最近友人

  • 満足せる豚。眠たげなポチ。:大規模サービスの運用事例まとめ

    ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。 時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。 あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。 youtube http://d.hatena.ne.jp/stanaka/20070427/1177651323 digg http://d.hatena.ne.jp/stanaka/20070427/1177651323 livedoor http://labs.cybo

  • MySQL ユーザコンファレンス 2008 - @Niftyブログサービス「ココログ」PostgreSQLからMySQLへのマイグレーション事例 - モノノフ日記

    午後一のセッションだったので眠さMAXでした。。SixApartの人のTypepadの仕組みのところは上の空であんまり聞けてません。印象的だったのはレプリケーションをバックアップに使ってること。ブログサービスなので書き込みの負荷が高いからでしょうか。 エンタープライズ用途への導入サンプルのようなプレゼンでした。やっぱMySQLもエンタープライズ向けになると色々とお金がかかってそうな感じです。 Cololog ベースはTypepad by SixApart 数百万PV/month 70万ユーザ(2008/04) technology Typepadを動かせるプラットフォーム ( Perl ) Monitoring PostgreSQLはVACUUMの監視が必要 memcached使ってごまかしてた (扱うデータが巨大すぎて処理がし辛く)PostgreSQLは腫れ物扱い DBP: Databa

    MySQL ユーザコンファレンス 2008 - @Niftyブログサービス「ココログ」PostgreSQLからMySQLへのマイグレーション事例 - モノノフ日記
  • MySQL ユーザコンファレンス 2008 - MySQL5.1 in-Depth - モノノフ日記

    MySQL5.1で実装される機能の紹介でした。Brian Akerさんのプレゼン面白くて大好きです。なので、聞くことに集中してあんまりメモれてなかったり・・・。 発表資料も公開されている様なのでそれを参考にすると良いと思います。 http://krow.net/talks/5.1%20In-Depth.pdf Business Intelligence / Data Warehousing Table/Index Partitioning 1つのパラメータを複数のセットに分ける パーティションレンジの設定が肝 1024パーティション より簡単に hash partioning プライマリキーでやるべし パーティションは設計が非常に重要 mapされてない場合は一番最後のパーティションに入る 全てがよくなる訳ではない めったに選択されないデータを分割して持つ場合は有効 ただオーバーヘッドが高い

    MySQL ユーザコンファレンス 2008 - MySQL5.1 in-Depth - モノノフ日記
  • MySQL ユーザコンファレンス 2008 - MySQL Performance Tuning 1 - モノノフ日記

    パフォーマンス向上のポイントとして以下の3点についてのお話でした。 Slow Query Log Explain Query Cache 英語のセッションでしたが、内容が基的なことだったので結構聞き取れた気がします。 チューニングで有名なポイントを挙げられてたのでそんな目新しい話は無かったです。 問題となる点 スループット Slow queries The Slow Query Log 遅いクエリをリストアップ バージョン3.xから組み込み Queryのどの部分がネックになってるかはわからない チェックする点 Execution Time バッチ処理とかと被ってるかも ユーザ トータルの実行時間 Rows in Result Total Rows fetched 5.1で機能拡張 Tableにログとれる RuntimeでのON/OFF Microseconds 時間をzeroに mysq

    MySQL ユーザコンファレンス 2008 - MySQL Performance Tuning 1 - モノノフ日記
  • mysqlbench のインストールとその使い方 | Carpe Diem

    mysqlbench のインストール方法は、つぎのとおり。 日 MySQL ユーザ会のサイトから mysqlbench-0.1.tgz をダウンロードして、展開する Makefile を libmysqlclient_r.so があるライブラリパスに、mysql のヘッダーファイルがあるヘッダーファイルパスに変更する make を実行すると、mysqlbench の実行ファイルが生成される Makefile の差分、CentOS 5.2 x86_64 の場合 — Makefile-org        2009-01-13 10:41:03.000000000 +0900 +++ Makefile    2009-01-09 22:09:14.000000000 +0900 @@ -1,8 +1,8 @@ CC = gcc CFLAGS = -O2 -D_REENTRANT -LDFLA

  • mysqlbench | Carpe Diem

    MySQL で、ベンチマークをとるときには mysqlbench というツールが便利だということで、付属の README の内容を勝手に翻訳してみた。 README.mysqlbench の内容 このベンチマークツールは、postgresql-8.0 のソースコード内部に含まれている pgbench をベースにしたツールです。 pgbench では、次のことができます。 – TPC-B をシュミレーションした想定 – サーバに対して大量の接続をしてクエリーを流すこと イメージ: サーバ                        クライアント | MySQL | <–ネットワーク– | 一度だけ大量の雪像をする | |       | <———– |                               | |       | <———– |                    

  • 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のほうがいいかも - (ひ)メモ
  • ランキングを求める - OZACC.blog

    How to Optimize Rank Data in MySQL | O'Reilly Media データベースに記録されたスコアを元にランキングを求める際の、パフォーマンスに秀でるテーブルやSQLの設計手法に関する記事。「High Performance MySQL」の著者によるもの。 サイト上で獲得点数のランキングを表示するゲームを作ったことがこれまでに何度もあるんだけど、リアルタイムで順位を求めることがほとんどだった。この記事の中で最もよくないとされる方法。まあ、MySQLではないのだけど。 あるスコアの順位を求めるには基的に というSQLになる。Oracleのようにrank()関数が使える場合は分からないけど、例えば上位50人のデータを順位付きで取得すると、SQLはひとつで済むけど結局サブクエリで順位を計算する形になるので、パフォーマンス的にはよくなさそうな気がする。 先頭レ

    ランキングを求める - OZACC.blog
  • mixi(ミクシィ)

    mixi(ミクシィ)は、友人・知人とのコミュニケーションをさらに便利に楽しくするSNSというサービスです。

    mixi(ミクシィ)
  • 1