タグ

mysqlに関するthreeMonthsのブックマーク (61)

  • MySQLのサブクエリは危険?――深まる謎:画竜点睛:エンジニアライフ

    最近、MySQLに振り回されていました。 私もエンジニアですから、普段はこういうこともしているんですよということで、今回はMySQL技術的な話題を書いてみたいと思います。 初めに、強調しておきます。 MySQLでネストするクエリ(サブクエリ)は絶対に使ってはいけません。 このことを甘くみると、私のように振り回されてしまいます。世の中のエンジニアの方々には、声を大にしてお伝えしたい。レアケースの話ではなく、MySQLを使う場合の大前提として捉えてもよいほどです。 ちなみに、なぜこのような動作になるのかはまだ全然分かっていません。追って調べていこうと思っているので、分かり次第コラムの中でも書けるかもしれませんが、何かご存じの方はぜひコメントをください。 ◆ 急に遅くなるクエリ アプリケーションの開発や運用をしていて、RDBMSへのクエリが急に遅くなった、という問題を経験をしたことがない人はい

    MySQLのサブクエリは危険?――深まる謎:画竜点睛:エンジニアライフ
  • Ruby/MySQL - tmtms のメモ

    最近 Rails でプログラム作ったりしてるのですが、Ruby/MySQLRails で使えないことがわかったので、1年以上放置していた Ruby/MySQL をいじって使えるようにしてみました。 Ruby/MySQL というのは Ruby スクリプトから MySQL を使用するためのライブラリです。 https://github.com/tmtm/ruby-mysql ややこしいのですが MySQL/Ruby というのもあります。Ruby/MySQLRuby だけで書かれたライブラリで、MySQL/Ruby は C で書かれたライブラリです。Ruby/MySQLMySQL/Ruby とほぼ互換があります。 Ruby/MySQL はコンパイルの必要がないため Ruby さえ動けばどこでも動くというのと、libmysqlclient を使用しないのでアプリが GPL の影響

    Ruby/MySQL - tmtms のメモ
  • layer8.sh

    This domain may be for sale!

  • MySQLのAUTOCOMMIT(オートコミット)覚え書き – OpenGroove

    MySQLの機能のひとつ、AUTOCOMMIT(オートコミット)が有効/無効でどのように挙動が変わるのか、今イチ理解できていない。やっぱり、一回書いておかないと。 前提として、トランザクションセーフであるInnoDBテーブルが対象であること(MySAMはトランザクションをサポートしていない)。なお、この記事内における「暗黙のうちに、暗黙的」という表現は「自動的に」と同義語と 捉えるものとする。(・・・と勝手に決めます) AUTOCOMMIT(オートコミット)有効/無効の違い AUTOCOMMIT(オートコミット)を有効にするか無効にするかにより、トランザクションの開始/終了の方法が変化する。 オートコミットを有効にした場合(デフォルトで有効) この場合のトランザクションは単一のSQL文実行時に暗黙のうちに、またはSTART TRANSACTION文によって明示的に開始される。 この中でST

  • http://www.2ch-search.net/blog/3

  • 初心者向けMySQLの始め方

    1. 初心者向け MySQLの始め方 MySQL Beginners Talk とみたまさひろ 2012-05-29 初心者向けMySQLの始め方 - MySQL Beginners Talk Powered by Rabbit 1.0.6 2. 自己紹介 ✓ とみたまさひろ ✓ MySQLユーザ会(代表) ✓ id:tmtms ✓ @tmtms ✓ RubyからMySQLを使うライブラリ書いたり 1/80 初心者向けMySQLの始め方 - MySQL Beginners Talk Powered by Rabbit 1.0.6

    初心者向けMySQLの始め方
    threeMonths
    threeMonths 2012/05/30
    unixソケットとtcp/ipの違いが分からなかった
  • Mysql charset

    1. MySQLの 文字コード OSC2011.DB とみたまさひろ 日MySQLユーザ会 2011-11-05 MySQLの文字コード - OSC2011.DB Powered by Rabbit 1.0.4 2. 自己紹介 ✓ とみたまさひろ ✓ 日MySQLユーザ会 ✓ 長野ソフトウェア技術者グループ(NSEG) ✓ mailto:tommy@mysql.gr.jp ✓ id:tmtms ✓ @tmtms 1/30 MySQLの文字コード - OSC2011.DB Powered by Rabbit 1.0.4

    Mysql charset
  • MySQL日本語利用徹底入門

    1. <Insert Picture Here> MySQL語利用徹底入門 日オラクル株式会社 MySQL Global Business Unit テクニカルアナリスト 奥野幹也 2012 年 5 月 29 日 Copyright© 2012, Oracle. All rights reserved. 2. 2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。ま た、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確 約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オ ラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊 社の裁量により決定されます。 OracleJava は、 Oracle Cor

    MySQL日本語利用徹底入門
    threeMonths
    threeMonths 2012/05/30
    ラウンドトリップ
  • ファイルサイズの増加を1MB単位で見たいとき - marqs tech

    自分が関西出身でせっかちだからか、MySQLのALTER TABLE中に一時テーブルのファイルサイズをwatchするなんてことがあります。 ただ、"ls -h"でwatchするとファイルサイズに合わせて単位を整えてくれてしまうので、1GBを超えたテーブルなどは一体どのくらいの勢いでファイルサイズが増えていっているのかが分かり辛かったりします。(さすがに一時テーブルが1秒ごとに1GB増えるなんてことはないので) そんなときは以下のようにブロックサイズ指定をすれば、毎秒どれくらいファイルサイズが増えていくかが、見やすくなったりするかもしれません。 ls -lh このままwatchしてもファイルサイズが増えてるのか分かりにくい。 # ls -lh hogehoge.ibd -rw-rw---- 1 mysql mysql 21G May 25 16:11 hogehoge.ibd lsにb

  • 2012-04-19-mysql-casual-vol3.pdf

    Dockerホットデプロイ運用の話 / Operations for Zero Downtime Docker Deployment

    2012-04-19-mysql-casual-vol3.pdf
  • 「MySQL Casual Talks vol.3」に参加してきたよ、のメモ - 元RX-7乗りの適当な日々

    4/19に、"カジュアル"ではなく"ガチュアル"と定評のある「MySQL Casual Talks」の第3回目に参加してきました。 尚、このイベントの過去の参加記録は以下。 「MySQL Casual Talks vol.1」に参加してきたよ、のメモ 「MySQL Casual Talks vol.2」に参加してきたよ、のメモ 今回は、すごくたくさん人がいたので、誰かがブログでまとめてくれるっしょー、とか思っていたのですが、ひょっとしたら誰もまとめていないんじゃないか疑惑、かもしれなかったので、重い腰をあげてエントリを書いてみることにしました。 駄菓子菓子! 当日は皆さんスピード感あふれる発表が多かったのと、僕はTwitterに書いていたりしたので、手元のメモがあまりないんですよね...(*´σー`)エヘヘ ということで、公開されている資料を集めて貼り付けた方がメモよりわかりやすいんじゃな

  • PHP と MySQL でカジュアルに MapReduce する

    8. 普通名詞として •Map/Reduce 関数でデータを 処理するプログラミングモデル • マシンを増やしただけスケール •Hadoop, MongoDB, CouchDB などが主な実装

    PHP と MySQL でカジュアルに MapReduce する
  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • さらにMySQLを高速化する7つの方法

    MySQLを高速化する10の方法という記事がとても好評だったようである。記事を読んで頂いた皆さん、ありがとう。 この記事に対する便乗(?)でWeb屋のネタ帳: PostgreSQLを高速化する16のポイントという記事を書いて頂いたようだが、そちらの方もかなり人気だったようである。他人が作ったソフトウェアに改良を加えるというフリーソフトウェアやオープンソースソフトウェアの精神も基は便乗であるので、便乗については大いに賛成したいというかむしろ取り上げてくれてありがとう!!と思うわけであるが、ここでさらに俺はこう考える。 と。 Web屋のネタ帳さんの記事では16のポイントが紹介されているが、漢(オトコ)のコンピュータ道の記事は10の方法だったのであと6つ足りない。オトコは数で勝負!!というわけで今日はネタを振り絞ってさらに7つのMySQL高速化テクニックを紹介しよう。 1. インテルコンパイラ

    さらにMySQLを高速化する7つの方法
  • なぜMySQLのサブクエリは遅いのか。

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

    なぜMySQLのサブクエリは遅いのか。
  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

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

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • にひりずむ::しんぷる - MySQL で SELECT のときにユーザー変数を代入して使う

    知らなかったのでメモ。 mysql> SELECT @foo := UNIX_TIMESTAMP(), FROM_UNIXTIME(@foo) +--------------------------+---------------------+ | @foo := UNIX_TIMESTAMP() | FROM_UNIXTIME(@foo) | +--------------------------+---------------------+ | 1331202141 | 2012-03-08 19:22:21 | +--------------------------+---------------------+ @variable := expr で変数に代入し、それをその場で使うことができる。いままでは SET @variable = expr してからしか使えないのかなーと思って

  • MySQL の照合順序の命名規則 - TETLIST

    TETLIST 愛と平和について……嘘。情報系大学院の院生が、そこそこ IT インフラストラクチャ、そこそこ開発について書くこともある個人日記。 MySQL の照合順序って難しいですよね。 使いこなすと便利そうだけれども。 照合順序に関するおさらいとか。 そもそも照合順序って "照合順序"とは、MySQL (に限らないけど)が文字を比較するときの基準・規則です。"Collation" という英単語からきています。「照合順序」という和訳からはわかりにくいのですが、「照合(等しいか等しくないか)と順序(順番が前か後か)を比較する際のルール」です。「>」「=」「<」のどれかということですね。 例えば、SQL文で次の比較文はどう評価されるでしょうか? ‘A’ = ‘a’ プログラミングとかを少しやっていると、 False が返される気がしてきますが、MySQLは「照合順序」によって True も

  • MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...

    しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま

    MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...
  • MySQLに対して、カジュアルにやってはいけない事をやってみよう[追記アリ] - oranie's blog

    ※ブクマコメントで指摘頂いた箇所を追記しました>< MySQL Casual Advent Calendar 2011 21日目の記事です。 前日は@sohgohさんの 「MySQLのUDFでカジュアルにファイル操作【MySQL Casual Advent Calendar 2011 20日目】」 でした。図や動画もあって見やすいですね! 改めて自己紹介です。21日目を担当する、今回のカレンダーでNo.1カジュアルの座を狙っているid:oranie(オラニエ)です。 今回はMySQLもそこそこで、僕の名前の正しい読み方だけを覚えてくれれば今日は大丈夫です。 意図的に間違えている人もたまにいますが、心が汚れすぎていると思うのでお寺で座禅とかした方がいいと思います。 今までの記事を拝見させて頂き、みんな真面目に色々Tipsを書いているのでニッチ狙い&初心者の僕は 「MySQLに対して、カジュア

    MySQLに対して、カジュアルにやってはいけない事をやってみよう[追記アリ] - oranie's blog