タグ

MySQLに関するsangotaroのブックマーク (16)

  • MySQLの文字コード事情 2017版

    10. 文字集合文字集合 US-ASCII 数字、英字、32個の記号 JIS X 0201 US-ASCII(「」→「¥」/「~」→「‾」)+カタカ ナ JIS X 0208 数字、ひらがな、カタカナ、漢字、ラテン文字、 ギリシャ文字、記号等々 JIS X 0213 JIS X 0208 + 第三水準/第四水準、ローマ数字、 鼻濁音文字等々 11. 文字集合文字集合 Windows-31J JIS X 0201 + JIS X 0208 + NEC特殊文字 + IBM 拡張文字(「⑧」「Ⅷ」「㈱」「髙」「﨑」「彅」 等) Unicode 世界中の文字。絵文字(「�����������������」「�������������������」等)も含む。

    MySQLの文字コード事情 2017版
  • MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ

    MySQLUTF-8 で使おうと思ってハマりがちなのは charset utf8 を指定してしまうことです。 MySQLUTF-8 には歴史的事情により utf8 と utf8mb4 の二つあります。 UTF-8 は1バイト〜4バイトで1文字が構成される文字コードですが、MySQL の utf8 は4バイト文字を扱うことができません。ハマりたくなければ utf8mb4 を使いましょう。 utf8 を使ってしまった場合に4バイト文字がどのように扱われるか、自分でもうろ覚えだったのでメモしておきます。 登録 接続が utf8mb4 でカラムが utf8mb4 あたりまえですが、そのまま登録されます。 mysql> insert into utf8mb4 (c) values ('美味しい🍣と🍺'); mysql> select * from utf8mb4; +--------

    MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ
  • 【MySQL】総メモリー使用量を算出するSQL作ってみた - もぐめぽろぐ

    必要メモリ量=グローバルバッファのサイズ+(各スレッドのバッファサイズの合計 × 最大接続数(max_connections)) 各スレッドのバッファサイズの合計とは、以下の値の合計値です。 sort_buffer_size myisam_sort_buffer_size read_buffer_size join_buffer_size read_rnd_buffer_size グローバルバッファのサイズは、以下の値の合計値です。 key_buffer_size innodb_buffer_pool_size innodb_log_buffer_size innodb_additional_mem_pool_size net_buffer_length ※実践ハイパフォーマンスMySQL による とあるのだが、一般的にいわれてる計算式はさらにそれに+query_cache_sizeがプラ

    【MySQL】総メモリー使用量を算出するSQL作ってみた - もぐめぽろぐ
  • MySQLのmy.cnfファイルサンプル

    MySQLのバージョン インストールされたMySQLのバージョンは以下のようになります。 名前 バージョン ダウンロード元 my.cnfサンプル 以下のサンプルを参照して、my.cnfファイルを作成してください。 # このファイルは MySQL 5.6を基準として作られてあります。 # http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html を参照しました。 [mysqld] ##-------------------------------------------------------------------- # mysqldの基設定 ##-------------------------------------------------------------------- # id は 1 から 2^

    MySQLのmy.cnfファイルサンプル
  • [ThinkIT] 第1回:定量的な情報収集のススメ (1/3)

    MySQLサーバに限らず、大量のアクセスを処理するデータベースやアプリケーションサーバ群に対して、それぞれの環境に合わせたチューニングを行うことは企業システムにおいて必須の項目です。しかし「チューニングすべきパラメータとその最適値をどのように決定すればよいのか」、また「実際にチューニングを施すことによってどの程度効果があったのか」を把握することは意外に難しいものです。 ですが、敢えていえば答えは明瞭で、「定量的な情報収集と分析」の他にないでしょう。あらかじめ情報を収集しておけば、チューニング前後でのデータを比較することによってどのような変化が起きたのかを知ることができます。 連載では、まずはMySQLサーバにおいて収集すべき情報を提示し、その後、それらを利用した基的なパラメータについてのチューニング方針を紹介します。 また、今回はOSにCentOS 5.0、データベースにMySQL 5

  • オトコのソートテクニック2008

    今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。 インデックスを利用しないクエリで最もよく見かけるもののひとつは、ORDER BYを用いたソート処理だろう。もし、ソート処理においてインデックスを用いることが出来れば、MySQLは結果を抽出してから結果行をソートするのではなく、インデックス順に行を取り出せば良いので高速にソート処理することが可能になる。特に、LIMIT句やWHERE句を用いて行の絞り込みを行う場合は効果が絶大である。しかし、ひとたびインデックスを利用できない状況に直面すると、たちまちテーブルスキャンが発生して性能が劣化してしまう。 例えば、100万行のレコードを格納したt1というテーブルがあるとする。そのテーブルに対して以下のようなクエリを実行した場合を考えよう。 mysql> SELECT col1, col2 ... colx

    オトコのソートテクニック2008
  • Knockin'on TechLog » Blog Archive » 「時間で体力が回復する」処理

    Posted on 2011年1月5日, 6:00 PM, by Norifumi, under ソーシャルアプリ, 設計. こんにちは。今回から記事を書く、水曜を担当するNorifumiです。 弊社はモバイルを中心としたアフィリエイト広告事業が主ですが、そこで培った技術を基にソーシャルアプリの企画・運営や開発業務も行っています。 ソーシャルアプリではよく、「○分で体力が△回復」といった、時間で行動制限を設けることがあります。 今回は、そんな処理をちょっとスマートに書く方法を。まぁ、そんな大したことではないのですが、ひょっとしたら誰かのお役に立てるかと思いまして。 コツ 体力をデータベース上に「日時」として記録します 具体的には 例えば、プレイヤーの体力データを保存するテーブルをこのような定義にします CREATE TABLE player_energies ( player_id INT

  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • LOAD DATA INFILE構文:データのインポート - 第3章 SQL構文 - [SMART]

    LOAD DATA INFILEは、テキストファイルのデータをテーブルに登録します。LOAD DATA INFILEがデフォルトで対応している書式は、フィールド区切りがタブ、行末が改行です。 たとえば、サイト名、URL、IPアドレスというフィールド名があるデータベースにLOAD DATA INFILEを使ってデータを挿入したい場合は、下記のようなファイルを作成します(空白部分はタブで区切られています)。 smart    wwww.rfs.jp    210.123.**.** rhythm    www.rhythmfactory.jp    210.123.**.** spacemonkey    www.spacemonkey.jp    210.123.**.** 上記データのファイル名が"data.txt"、それをsiteというテーブルに挿入するには、下記のような構文になります。

    LOAD DATA INFILE構文:データのインポート - 第3章 SQL構文 - [SMART]
  • iandeth. - MySQL 外部ファイルからのデータインポート方法 - LOAD DATA ... INFILE 構文および mysqlimport コマンド

    タブ区切りテキスト等の外部ファイルをMySQLDB/テーブルに読み込む方法について、MySQL.com Documentation から要点のみを抽出してメモってみました。今まとめておかないと速攻で忘却の彼方に葬ってしまいそうなので。一応、現時点で最新バージョンの MySQL 4.1.x 系を前提に話を進めていますが、特記がない限りはバージョン 3.x - 4.0.x でも問題無く通用するかと思われます。あと、MySQL.com Documentation は英語版の引用を用いてメモってますが、あるいは日語版のDocumentationの該当箇所をざーっと最初から最後まで読んだ方が全体的な理解は早いかもしれません... (日語版は、決して英語版Documentationの忠実な翻訳では無い ...って事に気づいてから、ヘンなこだわりもってます)。 項目一覧 概要 LOAD DATA

  • いぞるで雑記annex mysqlのtimestamp型を使って更新日時と生成日時の両方を記録する

    mysqlのtimestamp型は他の主なRDBMSと違って勝手に値を格納するらしい。 あと、DEFAULT値にnow()のような関数を使うことも出来ないっぽい。 その代わりにといってはアレだけどON UPDATE CURRENT_TIMESTAMPのような属性が使えるので、更新日時のような値を保持するにはもってこいの型みたい。 で、今回やりたかったのはひとつのテーブルに modified_date と create_date のような2つのtimestamp型のカラムを作って、更新日時とデータを最初に作った日の両方を管理する方法。 スキーマはこんな感じで定義しておく CREATE TABLE `test` ( id int(4) unsigned NOT NULL auto_increment, name varchar(10) , . . 略 . . modified_date tim

  • SELECT ... INTO OUTFILE 構文を使って結果セットを CSV 形式でファイルに書き出す - @kyanny's blog

    MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9 SELECT 構文 SELECT ... INTO OUTFILE '/tmp/hoge.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM ... FIELS TERMINATED BY フィールドの区切り文字を指定 ここではカンマ OPTIONALLY ENCLOSED BY フィールドを囲うクォート文字を指定 ここではダブルクォート LINES TERMINATED BY 行の区切り文字を指定 ここでは改行文字

    SELECT ... INTO OUTFILE 構文を使って結果セットを CSV 形式でファイルに書き出す - @kyanny's blog
  • MySQL CSVファイル入出力

    MYSQLでの「CSVファイル」の入出力(インポート、エクスポート)方法について記載しています。 WindowsLinuxのどちらの環境でもファイルパスの記載が変わるだけでコマンドは同一になります。 入力 LOAD DATA INFILE 「,」などで区切られたCSVファイルを用意することにより、MySQLに高速にデータを入力することができます。 文字の囲み文字が「”」のときの使用例です。 囲み文字が必要ないときはENCLOSED BY ‘”‘を外します。 構文 LOAD DATA INFILE "ファイル名" INTO TABLE テーブル名 FIELDS TERMINATED BY ',区切り文字' ENCLOSED BY '"';

    MySQL CSVファイル入出力
  • PHPで大規模ブラウザゲームを開発してわかったこと

    2010年6月26日に行われたイベント、オープンソースカンファレンス2010 Hokkaido内のセミナーで使われた発表スライド「PHPで大規模ブラウザゲームを開発してわかったこと」Read less

    PHPで大規模ブラウザゲームを開発してわかったこと
  • 非公開サイト

    サイトの構築。作品の販売。ブログの投稿。この他にもさまざまな機能があります。 ログイン サイトをはじめよう 非公開サイト このサイトは現在プライベート設定になっています。

    非公開サイト
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • 1