タグ

mysqlに関するjhoshinaのブックマーク (30)

  • ふつうのWeb開発者のためのクエリチューニング

    Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation. For the best experience please use the latest Chrome or Safari browser. Firefox 10 (to be released soon) will also handle it.

    ふつうのWeb開発者のためのクエリチューニング
  • Mysql toranomaki

    カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09Mikiya Okuno

    Mysql toranomaki
  • PDOでフェッチした数値型カラムの値が文字列で取得されるのでなんとかしようと頑張った。 - erio_nk://memo

    MySQLから取得したデータをjson_encodeしてて気づいた。 いくら型無し言語でもコレはないわー。 現象 desc hoge; +-------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+-------+ | id | int(10) unsigned | NO | | 0 | | | name | char(8) | NO | | | | +-------+------------------+------+-----+---------+-------+ SELECT id, name FROM hoge; +----+--

    PDOでフェッチした数値型カラムの値が文字列で取得されるのでなんとかしようと頑張った。 - erio_nk://memo
  • Transactions on InnoDB » Blog Archive » Only God can make random selections

  • 米Oracleが「MySQL 5.5」GA版リリース、Webアプリ向けデータベースという位置付け - SourceForge.JP Magazine : オープンソースの話題満載

    Oracleは12月15日(米国時間)、オープンソースのデータベースシステム「MySQL 5.5」を正式リリースした。Oracleの下での初の安定版リリースとなる。プロプライエタリのデータベースシステムを主力製品として持つOracleは、MySQLをWebアプリケーション向けとして位置付けていく戦略をとる。 MySQLOracleが2010年1月に買収したSun Microsystemsのデータベースシステム。最新版も、GPLの下で公開されており無償ダウンロードできる。 MySQL 5.5ではデフォルトのストレージエンジンを「MyISAM」から「InnoDB」に変更、準同期レプリケーションの導入などにより性能、安定性、可用性を大きく改善したという。バージョン5.5のRC版とバージョン5.1とを比較したベンチマークテストでは、Linux環境において読み取り/書き込みの操作が最大3.6倍改

    米Oracleが「MySQL 5.5」GA版リリース、Webアプリ向けデータベースという位置付け - SourceForge.JP Magazine : オープンソースの話題満載
  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • Re: @kazuho: handlersocket plugin や mycached を使えば memcached は不要か、それとも使うべきケースがあるか。考察せよ [10点] - blog.nomadscafe.jp

    handlersocket plugin や mycached を使えば memcached は不要か、それとも使うべきケースがあるか。考察せよ [10点] kazuho (Kazuho Oku) http://twitter.com/kazuho/status/21477219149 考えて答えてみる。 HandlerSocketやmycachedを利用し、MySQLへの接続数が数万単位で行えるようになったり、より多くのクエリ数が発行できるようになっても、memcachedは不要ではないし、使うべきケースもあります。 memcachedは単なるKVSではなく、ExpiresとLRUがついたキャッシュサーバです。キャッシュオブジェクトには期限を付ける事ができ、期限が過ぎたキャッシュは無効にされ、またアクセスがされていない不要になったオブジェクトは削除され、空いたスペースは新しいキャッシュオ

  • InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!

    MySQL 5.1.38からMySQL体にInnoDB Pluginバンドルされている。一部の先駆的なユーザー以外に、「InnoDB使ってますよ!」もしくは「検証してるよ!」という話をあまり聞かない。そもそもであるが、InnoDB Pluginってなんぞ?!という人が多いんではないかと思うのだが、実際はどうなのだろう?現在はRC版(リリース候補版)という位置づけのInnoDB Pluginであるが、一部影響度の高いバグが残っていたりしてGA版ほどの安定性は求められないものの、ほとんど実用に耐えうる品質になっているといえる。そんなわけで、今日は改めてInnoDB Pluginの使い方・使いどころについて説明するので、ぜひ皆さんの手でInnoDB Pluginを評価してみて頂きたい。 なお、以下の解説は現在の最新バージョンである、InnoDB Plugin 1.0.6を前提にしているので、将

    InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!
  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

    スナップショットを使えばとある瞬間のディスクやファイルシステムのデータをいつでも後から参照することができる。しかもスナップショットの作成は一瞬だ。スナップショット機能を活用すれば最強のオンラインバックアップソリューションが出来るだろう。 しかし、スナップショットでバックアップを取るなんて危険な操作じゃないのか?!と不安に思われる方もいらっしゃるかも知れない。MySQL Serverが稼働中にいきなりデータだけをとってくるのだから、そのような疑問を持たれるのは頷ける。しかし仕組みさえ分かればスナップショットによるバックアップは怖くないということが分かるはずだ。そこで、まずはスナップショットによるバックアップの仕組みについて説明する。スナップショットを取る際の要件は次の通りである。 全てのデータを単一のボリュームに置くこと。つまり、一回のスナップショット操作でバックアップが取れることだ。 ディ

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • Linux + MySQL, 複数の mysqld をインストールする (三田ブログ)

    MySQL のインストール。次のような前提。 ・Fedora core 5 で動かす。 ・MySQL 5.1.11-beta を使う。 ・MySQL 4.x が既に動いているので、port=3307 にして同時に使えるようにする。 Linux (non RPM package) をダウンロードする。 既に動いているものが RPM なので、RPM 版を使うことができない、もしくは大変難しいと思われる。 展開して適当なディレクトリに配置。 今回は /usr/local/jiro/ に展開して、mysql-5.1.11-beta-linux-i686 というディレクトリに配置する。 cd /usr/local/jiro ln -s my*686 mysql とでもやって、symbolic link を作っておく。my*686 というのは bash が展開してくれるので mysql-5.1.11-

  • [MySQLウォッチ]第44回 MySQL 5.1レプリケーションの注意点

    MySQL5.1には,大きく改良されたレプリケーション機能が搭載された。これまでのステートメント(SQL文)ベースのレプリケーションに加えて,マスタの更新結果をスレーブが反映する行ベースのレプリケーションが搭載されたのだ。レプリケーションの機能追加によって,より正確なレプリケーション処理が可能になった。 しかし,よいことばかりではない。行ベースのレプリケーションは,注意すべき点が存在する。これまでのステートメントベースのレプリケーションと同様の設計や運用では,パフォーマンスを得られない恐れがある。今回は,MySQL5.1レプリケーションの注意点を解説する。 MySQL 5.1のレプリケーション MySQl 5.1のレプリケーションには,同期方法として3つのモードが実装されている。ステートメントベースは,マスタで実行されたSQLステートメントをスレーブでも実行する方式だ。MySQL 5.0ま

    [MySQLウォッチ]第44回 MySQL 5.1レプリケーションの注意点
  • MySQLでのレプリケーションの設定 - KAWANO's PukiWiki

    レプリケーションとは 通常、データベースを別のサーバに複製することを、「レプリケーション」という。 レプリケーションのメリットは、次のとおり。 データベースのバックアップ データベースの冗長化 サーバの負荷分散 MySQLは標準でレプリケーション機能を備えているが、 その方式は「マスタ-スレーブ方式」で、 データベースの更新を受け付ける「マスタ」と、 マスタから伝搬されたデータを受け付ける「スレーブ」からなる、 一方通行の複製になる。 細かいことは、参照先のページを見ること。 ▲ ▼ 今回の目的 まったく同一構成の2台のマシンがあるので、 1台をマスタ、もう1台をスレーブにして、 データベースのバックアップと冗長化をはかる。 ▲ ▼ レプリケーション用のユーザの作成 スレーブがマスタに接続するための専用ユーザを、マスタで作成する。 与える権限は「REPLICATION」「SLAVE」

  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術
  • なぜMySQLのサブクエリは遅いのか。

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

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

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

    さらにMySQLを高速化する7つの方法
  • インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか? | OSDN Magazine

    インテルが開発している「インテル コンパイラー」は、インテルCPUに最適化された高速なバイナリを生成するということで知られており、Oracleなどパフォーマンスを求めるベンダーで採用されているほか、科学計算用アプリケーション、3Dグラフィックソフトなど、さまざまなソフトウェアのコンパイルに利用されている。 しかし、「インテル コンパイラーはパフォーマンスが高い」とだけ言われても、なかなかピンと来ない人も多いのではないだろうか。そこで、インテル コンパイラーでコンパイルされたバイナリをベンチマークテストし、実際どの程度の性能向上が見込まれるのかを調べてみよう。 各所で高評価を受けるインテル コンパイラー インテル コンパイラーはCPUメーカーであるインテルが開発しているということで、Core i7などの最新CPUに搭載されているSSE 4.2といった命令セットへの対応が図られているほか、イン

    インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか? | OSDN Magazine
  • HTTP Server Test Page powered by CentOS-WebPanel.com

    This page is used to test the proper operation of the HTTP server after it has been installed. If you can read this page it means that the HTTP server installed at this site is working properly. The fact that you are seeing this page indicates that the website you just visited is either experiencing problems or is undergoing routine maintenance. If you would like to let the administrators of this

  • Sequel Pro

    Full MySQL Support Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! Flexible Connectivity Sequel Pro gives you direct access to your MySQL Databases on local and remote se

    Sequel Pro