タグ

mysqlに関するred_snowのブックマーク (97)

  • MySQLのスロークエリログから一部を切り出して分析するパッチ - SH2の日記

    MySQLのパフォーマンスチューニングに欠かせないスロークエリログですが、このログは特別にlogrotateなどの設定をしない限り一つのファイルに延々と追記される形になっています。先日仕事で3年分ものスロークエリログを見ることがあって大変疲れたので、次回から楽をするためにスロークエリログから一部を切り出して分析するmysqldumpslowのパッチを書いてみました。 オリジナル版のmysqldumpslowはスロークエリログ全体を読み込みます。 $ mysqldumpslow -s t sandbox03-slow.log Reading mysql slow query log from sandbox03-slow.log Count: 2 Time=9223372036854.76s (-1s) Lock=0.00s (0s) Rows=0.0 (0), tpcc[tpcc]@loc

    MySQLのスロークエリログから一部を切り出して分析するパッチ - SH2の日記
  • 複数の MySQL を同時に起動する | バシャログ。

    早くも 4 月!こんにちは、nakamura です。去年のエイプリルフールは sakai が こんな記事 を上げていましたが、僕はまじめなので普通に書きます。 各コンテンツの番環境と出来る限り同じ状態の開発環境が欲しい!というのは誰しもが思う事ですが、中々そうもいかないのが世の中の世知辛い所ですね。今日は少しでもそんなストレスを解消する手段として異なるバージョンの MySQL を一台のサーバに共存させる方法をご紹介します。 ソースコードの取得、展開 ディストリビューションのパッケージ管理システムではなく、ソースコードから手動でコンパイル、インストールを行います。 公式のダウンロードサイトはこちら → MySQL :: MySQL Product Archives ただし、MySQL 4.x 系はサポートが終了した事もあり公式サイトからのダウンロードが出来ません。古いバージョンをインストー

    複数の MySQL を同時に起動する | バシャログ。
  • Using filesort

    去年ソートに関する記事を書いたが、今日はその続きである。 MySQLでEXPLAIN SELECT...を実行するとExtraフィールドでよく見かける「Using filesort」という文字列。Filesortって一体なんだろう?と思ったことはないだろうか。単刀直入に言ってFilesortの正体はクイックソートである。 クエリにORDER BYが含まれる場合、MySQLはある程度の大きさまでは全てメモリ内でクイックソートを処理する。ある程度の大きさとはsort_buffer_sizeであり、これはセッションごとに変更可能である。ソートに必要なメモリがsort_buffer_sizeより大きくなると、テンポラリファイル(テンポラリテーブルではない)が作成され、メモリとファイルを併用してクイックソートが実行される。 Filesortは全てのソート処理において実行されるわけではない。前回の記事

    Using filesort
  • VirtualHostの設定をMySQLで管理する·mod-myvhost MOONGIFT

    mod-myvhostはApacheモジュールのオープンソース・ソフトウェア。Apacheの設定はhttpd.confで行う。テキストファイルベースなので分かりやすいが、ASPなどでサービスを提供しようと思った時に、設定がシステムから柔軟に変更できればと思うことがある。 設定はこんな感じ 例えばユーザごとにVirtualHostを分ける場合だ。サブディレクトリで命名規則を設けて行う方法もあるが、ユーザ数が増えればそれも苦しい管理になる。そこで使ってみたいのがmod-myvhostだ。 mod-myvhostはVirtualHostの設定をMySQL上で管理できるようにするApacheモジュールだ。専用のデータベースとユーザを作成して、SQLを実行してパスを動的に変更できる。ルートディレクトリを動的に指定したり、有効/無効の切り替えもテーブルのメンテナンスだけでできるようになる。 うまく切り

    VirtualHostの設定をMySQLで管理する·mod-myvhost MOONGIFT
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ
  • MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログ

    はじめに この記事では、MySQL を使って簡単なメッセージキューを手軽に実装する方法を解説します。 メッセージキューとは、メッセージを一時的に溜めておき、順次処理するための仕組みです。迅速なレスポンスが必要な Web アプリケーションにおいて、時間のかかる処理を非同期に行うために、バックグラウンドで順次処理していくような場合に利用できます。 簡単なメッセージキューと言っても、大規模な運用にも耐えられる程度の速度と堅牢性を持ちます。 また、ここで解説している方法で作られたメッセージキューは、弊社ウェブサービスであるニコニコ動画に最近追加されたtwitter連携機能でも利用しています。 メッセージキューを作るにあたって 今回実装するメッセージキューは メッセージの追加(push)を高速に行う事ができる メッセージの取得(pop)はある程度高速に行う事ができる 多くのクライアントから同時に p

  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • MySQLのInnoDBでのデッドロック - mixi engineer blog

    こんにちは、mixi開発部にてアプリケーション開発をしていますyouheiです。 今回は、MySQL-5.0.45のInnoDBで連番を管理するテーブルのパフォーマンス測定をしていたのですが、その際に少し変わったデッドロック問題に遭遇しましたので、そのあたりをネタとして書いてみたいと思います。 まずは、今回使用したデータベースのスキーマは下記のようなものです。 CREATE TABLE num ( id bigint unsigned NOT NULL default '0' ) Engine=InnoDB; AUTO_INCREMENTは使用していません。 そこに1レコードだけ登録します。 INSERT INTO num (id) values (1); そして実際連番を取得する際には、 UPDATE num SET id = LAST_INSERT_ID(id+1); といったクエリを

    MySQLのInnoDBでのデッドロック - mixi engineer blog
  • INNER JOINでNULLの場合

    質問 2006年7月5日水曜日 9:05 MSDE2000を使用しております。SQL文のINNER JOINでNULLが存在する場合のSQL分をご教授下さい。 顧客テーブル(顧客名,営業担当,地域)、地域テーブル(ID,地域名)があります。 顧客テーブル ○○社,営業A,02 △△社,営業A,NULL △△社,営業B,01 地域テーブル 01,東京都 02,大阪府 INNER JOINを使用して、 ○○社,営業A,大阪府 △△社,営業A,NULL △△社,営業B,東京都 としたいのですが、"SELECT * FROM 顧客テーブル INNER JOIN 地域テーブル ON 顧客テーブル.地域 = 地域テーブル.ID"とすると、 ○○社,営業A,大阪府 △△社,営業B,東京都 と2件のみ表示されます。どのようにすると3件表示されるのでしょうか? よろしくお願い致します。 すべての返信 (5)

    INNER JOINでNULLの場合
    red_snow
    red_snow 2010/01/07
    なるほどなー
  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
  • 今感じていること ロードバランサを用いた時にPHPでセッション管理する時の注意点

    って、そんな機会これまでなかったっす。って、久々の実験ネタ。 そもそも、はじめはデフォルトのファイルによるセッション情報の管理をしていたんですけど、考えてみれば、って、考えなくても、接続先のWebサーバをロードバランサに変えられたら、照会すべきセッション情報が無いから、セッション切れちゃうんですよね。早く気付け自分。 で、こちらにも書かれているように、この場合DBで保持するのが吉と。 PHPのセッションをDBに格納するチュートリアル 複数のウェブサーバーで負荷分散しているような場合、デフォルトのファイルシステムを使う方法ではセッションはきちんと動作しませんね。 こういう場合にDBにセッション情報を格納しますが、そのチュートリアル。 テーブルの定義に始まってsession_set_save_handler()を使ってセッション機能を独自に実装していきます。 で、これに従って、ハンドラを定義し

  • 負荷対策概論 - Y-110's Wiki

    最新文章 2018-12-26 17:10▪ 致敬英雄,致敬不朽的精魂 2018-12-26 17:10▪ 四十年来闵行人的文化生活史一幕幕回放 2018-12-26 17:10▪ “笔尖上的童画”——欢图学员作品成果展将在东方网文化活动... 2018-12-26 17:10▪ “金色热线”12月27日将迎来年终特别节目 2018-12-26 17:10▪ 北京市发布持续低温蓝色预警信号 2018-12-26 17:10▪ 北京市网信办推进自媒体账号专项治理关闭11万个 2018-12-26 17:10▪ 有创意的崇明“橘农”让梦想和情怀扎根农场 2018-12-26 17:10▪ 突发!上海地铁3、4号线晚高峰运行延误系人员进入线路 2018-12-26 17:10▪ 中国经济总量将达90万亿关键时刻传递重要信息 2018-12-26 17:10▪ 海底捞:"吃出卫生巾"系人为当事顾客

  • ランダムに一つ結果を返すSQL - ワン!ワワン!ニャ〜!

    メモ程度 $sql = 'SELECT * FROM `table` WHERE 1 ORDER BY RAND() LIMIT 1'; $query = mysql_query($sql, $this->db); $obj = mysql_fetch_object($query);

    ランダムに一つ結果を返すSQL - ワン!ワワン!ニャ〜!
  • MySQL関数CASTで型変換する « kawama.jp

  • http://blog.tofu-kun.org/070620123532.php

  • http://blog.openmedialabo.net/index.php/archives/131

  • MySQL のコンパイル時のエラーをメモ error: redeclaration of C++ built-in type ‘bool’ | GT07 BLOG

    Version mysql-5.0.51b.tar.gz ./configure –with-charset=utf8 -with-extra-charsets=all –with-mysqld-user=mysql –prefix=/usr/local/mysql make error: redeclaration of C++ built-in type ‘bool’ yum install gcc-c++ 再度 make を実行しても同じエラーが発生したので、 make clean make distclean を実行し再度 make を実行すると問題なくコンパイルが成功した。 Popularity: 79 %