タグ

MySQLに関するyuya2223のブックマーク (7)

  • FacebookにおけるMySQLを用いた大規模システムアーキテクチャの現実~MySQL Connect 2013

    米オラクルが主催するMySQLのイベント「MySQL Connect」が9月21日から23日まで、サンフランシスコで開催されました。Oracle OpenWorld、JavaOneとの同時開催でした。 基調講演の1つには、MySQLのヘビーユーザーであるFacebookのHarrison Fisk氏が登壇。FacebookにおけるMySQLの役割、大規模運用の背景などを紹介しています。その内容をダイジェストで紹介しましょう。 MySQL@Facebook Lots and lots of small data Harrison Fisk氏。 Facebookでデータパフォーマンスチームのマネージャをしている。社内ではMySQLはもちろん、HBase Hadoopなどにも関わっている。 まずは、どんな種類のデータをMySQLで扱っているのかについて。 Facebookとは基的にグラフだ。グ

    FacebookにおけるMySQLを用いた大規模システムアーキテクチャの現実~MySQL Connect 2013
    yuya2223
    yuya2223 2013/09/27
    FacebookにおけるMySQLを用いた大規模システムアーキテクチャの.
  • How MySQL executes ORDER BY

    In last couple of weeks there has been a tide of ORDER/GROUP BY-related optimization bugs, where I was the fixer or the reviewer. This wasn’t an easy job because there is no sane description of how GROUP BY/ORDER BY handling is supposed to work. To figure it out, I had to write an explanation of how it works. The first part is about ORDER BY. Hopefully there will be subsequent parts that will show

    How MySQL executes ORDER BY
    yuya2223
    yuya2223 2013/02/20
    mysqlのORDER BY
  • datetime型のカラムから日付データを引っ張ってくる際の高速化 - 適当な日々

    フリーランスでwebの仕事をしながらwebサービスとかを作ったり作らなかったり、成長と挫折の記録・・・かもしれないちょっとMySQLのチューニングをしたらすごく早くなったので、メモメモ。 datetime型のカラムから日付のみをwhere訳にデータを引っ張ってくることはよくあります。 で、レコードが数万行になってくるとけっこう遅くなったりする。 そしてカラムにインデックスを張っても全然速度があがらなかったりします。 これはクエリーがインデックスを使用していないからなんですね。 苦しまぎれにdate型のカラムを作って日付だけを入れるという手法もありますが、ちょっとスマートじゃないです。 datetime型を維持したままで高速化できます。 例えばこういうクエリー [sql ruler="true" lang_name="true"] select * from item wher

  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
    yuya2223
    yuya2223 2012/04/02
    MySQLのEXPLAINを徹底解説!!
  • これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) こんにちは、インフラ担当新人の nob です。 サーバー監視ツールで MySQL を監視しているのにデータが多すぎて活用していない。という方はいませんか?その豊富なデータをパフォーマンス・チューニングに活用しない手はありません。今回はサーバー監視ツールのグラフを読み解いた実戦経験を元に、「これだけ見れば大丈夫」というツボをまとめてみました。 これだけ見れば大丈夫! クエリ編 3つのつぼと5つのグラフ (その1)監視ツールが何を見ているのか知る (その2)監視のキモ、グラフ3点セット (Questions, Lock Waits と Transaction Handler) (その3)グラフでチェックする SQL チューニング ( Select Type と Handler) シンプルでお勧め、サーバー監視グラフ化ツール

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    yuya2223
    yuya2223 2012/03/09
    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(
  • MySQL のユーザー管理 - WebOS Goodies

    それでは、実際のユーザー管理の方法をご紹介していきましょう。前述のとおり、以下でご紹介しているコマンドは全て mysqlMySQL サーバーに接続した状態で実行してください。接続するには以下のように mysql コマンドを実行します。 mysql -u <ユーザー名> -p 実行後、パスワードを聞いてきますので適切に入力してください。ユーザーは管理権限を持つユーザーである必要があります。 ユーザーの作成 ユーザーの作成には、GRANT ステートメントを使用します。基的な書式は以下のようになります。 GRANT <権限> ON <適用範囲> TO <ユーザー名>[@<ホスト名>] IDENTIFIED BY '<パスワード>'; 権限 ユーザーに与える権限をコンマ区切りで指定します。"ALL" と指定することで全ての権限を付与することができます。 適用範囲 権限の適用範囲を "<デー

  • MySQL: データ検索クエリの基本 – SELECT文、WHERE句、LIKE、IN、BETWEENキーワード

    前回までにテーブルに一定のデータを追加しましたので、今回はそのデータを検索するクエリ文を以下の場合に分けて練習してみます。 SELECT文の基形 – WHERE句 比較文字列内にワイルドカードを指定 – LIKEキーワード、「%」、「_」記号 比較範囲の指定 – BETWEENキーワード 複数のOR結合をIN句でまとめる NOTキーワードで条件の反転 NULLフィールドの検索 – IS NULL、IS NOT NULL まず、扱うテーブル内のレコードの一覧を下記に示します。 mysql> SELECT * FROM book_list; +---------+--------+--------+-------+-----------------------+ | book_id | title | author | price | comments | +---------+------

    MySQL: データ検索クエリの基本 – SELECT文、WHERE句、LIKE、IN、BETWEENキーワード
  • 1