タグ

MySQLに関するhirotaka11のブックマーク (13)

  • MySQLのINSERTを高速化するChange bufferingをソースコードから理解する - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

    背景 アカツキで提供しているサービスでは、ほぼ全てにおいてAWSのRDS(MySQL5.6, InnoDB)を使用しております。 ソーシャルゲームでは多くのWriteがかかりますが、そのコストが気になったので調べてみました。 調べてみたこと 一言にINSERTといっても、COMMIT時に即テーブルスペースに反映されるような単純な処理ではありません。 例えばINSERTしたテーブルにセカンダリインデックスがある場合、そこに加えられた変更を反映しなければなりません。 ところが、INSERT時バッファプール内に該当するインデックスのページが無い時はこれをディスクから読みだす必要があり、非常にコストが掛かります。 InnoDBにはこれを抑えるための"Change buffering"という機能があり、今回はその解説をしたいと思います。 Change bufferingとは 変更を加えたページがバッ

    MySQLのINSERTを高速化するChange bufferingをソースコードから理解する - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
  • 文字化け

    [Raspberry PiでQt5をはじめよう] - Raspberry Piについて - Qt5のクロスコンパイル - エミュレータで実行 ------------------------------------------------------------------------ - Whats Raspberry Pi? - How to Qt5 cross compiles about Raspberry Pi. - Can it emulation Qt5?

    文字化け
    hirotaka11
    hirotaka11 2015/06/10
    寿司問題の分かりやすいスライドあった
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
    hirotaka11
    hirotaka11 2015/05/07
    絵文字を扱ったりすると意外と大事な問題かも
  • 長年の議論に終止符 -- MySQLとMariaDBの違い一覧 - 技術メモ置き場

    (2014.12.3追記:このblogの内容は、以下の書籍にも反映させた。) SQLレベルの差異 MariaDB5.5とMySQL5.5ではSQLレベルでの違いはほとんどなかった。autoincrementの最大値の扱いくらい。 ただし、MariaDB10.0でREGEXPがマルチバイト対応になったので、アプリ側は注意。 項目 MySQL MariaDB Autoincrement 最大値に達すると、以降は最大値を繰り返す。Warningのみ。エラーにならない。tinyintなら…,125,126,127,127,127… 最大値-1まで。以降はエラーを返す。tinyintなら…,125,126,ERROR,ERROR,… EXPLAIN文 JSON形式 バージョン5.6から 未対応 Optimizer Trace バージョン5.6から 未対応(ただし、MariaDBのほうがオプティマイザ

    長年の議論に終止符 -- MySQLとMariaDBの違い一覧 - 技術メモ置き場
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • gtidを使用した環境でのmysqldump - hiroi10のブログ

    以前の日記Global Transaction IDを使ってレプリケーション構成とした際の制限でmysqldumpから新規にスレーブを作ろうとするとgtidが記録されなくてバイナリログ使わないとダメ、と書いたんだけど、5.6.10で試したら普通にスレーブを作成可能だったので訂正も含めて書きます。 環境 CentOS6.3 x86_64(KVM guest) MySQL 5.6.10 よくあるmysqldump MySQL5.5系まででgtidが存在しない環境では良く以下のようにmysqldumpを実行しているかと思います(InnoDBのみ利用の場合)。 # mysqldump --all-databases --single-transaction --master-data=2 > /path/to/dir/dump または # mysqldump --all-databases --s

    gtidを使用した環境でのmysqldump - hiroi10のブログ
  • MAMP の MySQL をコマンドで扱うには | MySQL | かたつむりくんのWWW

    Mac の代表的な開発環境と言えば MAMP ですね。 MAMP をインストールすると、初めから phpMyAdmin が使えるので、MySQL の作業はついついそれに頼ってしまいがちです。 しかし、サーバーによっては phpMyAdmin がインストールされていない場合もあり、コマンドで作業しないと行けないこともあります。そんな時のために、MAMP の MySQL をコマンドで操作して練習しておきたいですね。 MAMP の MySQL をコマンドで操作する MAMP の MySQL を扱う場合には、まずは次のコマンドでディレクトリを移動します。 cd /Applications/MAMP/Library/bin そしてデータベースにログインするには、 ./mysql -u root -p です。ちなみに、MAMP のデフォルトのパスワードは root ですね。 パスを通す でもこれだと、

    MAMP の MySQL をコマンドで扱うには | MySQL | かたつむりくんのWWW
  • 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
  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

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

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
  • うるう秒のあとにMySQLなどのCPU使用率が高騰する件について - SH2の日記

    2012年7月1日のうるう秒のあとに、MySQLJavaなどのCPU使用率が高騰する事象が報告されています。 CPU %user %nice %system %iowait %steal %idle 08時30分01秒 all 0.02 0.00 0.02 0.04 0.00 99.91 08時40分01秒 all 0.02 0.00 0.02 0.08 0.00 99.88 08時50分01秒 all 0.02 0.00 0.02 0.03 0.00 99.92 09時00分01秒 all 0.11 0.00 0.13 0.04 0.00 99.72 09時10分01秒 all 23.02 0.00 29.09 0.11 0.00 47.78 09時20分01秒 all 23.11 0.00 29.08 0.06 0.00 47.75 09時30分01秒 all 22.85 0.00

    うるう秒のあとにMySQLなどのCPU使用率が高騰する件について - SH2の日記
  • 大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~

    2017年10月27日、モノビットエンジン勉強会inサイバーコネクトツーにて、中嶋謙互が講演しました「ネットワークゲームにおける TCPとUDPの使い分け」のスライドになります。ネットワークゲームを製作する際にご参考頂けますと幸いです。 登壇者: 株式会社モノビット 取締役 CTO 中嶋謙互

    大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
  • 『PHP+MySQLでWEBサイトのキャプチャを管理』

    よくある記事ですが、 ①PHPを使ってWEBサイトのキャプチャ取得 ↓ ②DB保存 ↓ ③表示 の一連の方法を書きます。 ①PHPでキャプチャ取得 WEBブラウザなんかで表示されたページを、 プログラム使ってダイナミックに表示したい みたいな話しってよくあると思います。 でもframe使いたくなくて、キャプチャ取って サムネイルで表示したい。。。 という方は、下記APIがオススメです。 「websnapr」 http://www.websnapr.com/ ここで提供されているAPIに、キャプチャを取りたいURLを投げると、 数秒後にサムネイルとして返してくれるというなんとも便利なAPIです。 まあPHPと書いてはみたものの、 全然PHPじゃなくても大丈夫みたいなw 使い方は非常に簡単。 まずサイト上で無料で取得できるdeveloper keyを取得。 そして、下記のようにリクエストを投げ

    『PHP+MySQLでWEBサイトのキャプチャを管理』
  • 『アメブロで行ったチューニングの紹介』

    はじめまして。ブログを担当しているNと申します。 ブログ絡みの技術ネタをと依頼をされましたが、 ブログは枯れた技術を多く使っていて目新しいことはあまりないので、 以前行ったチューニング内容について紹介したいと思います。 2008年にブログの記事データについて行ったDB+アプリでのチューニングです。 ブログの記事データはMySQLのMaster-Slave構成で保持していて、 Slaveサーバーをスケールアウトしてブログの閲覧のリクエストを処理しています。 SlaveのMySQLのバージョンは4.1でEngineはMyISAMです。 記事テーブルには以下のようなデータを保持しています。 記事ID,ブログID,記事タイトル,日付,テーマ,公開区分,ステータス,・・・ チューニング前の記事テーブルには以下のようなINDEXを張っていました。Key_name Seq_in_index Collat

    『アメブロで行ったチューニングの紹介』
  • 1