タグ

MySQLに関するdhalmelのブックマーク (15)

  • ke-tai.org > Blog Archive > ソーシャルゲーム開発に関するスライド資料をまとめてみました

    ソーシャルゲーム開発に関するスライド資料をまとめてみました Tweet 2011/1/28 金曜日 matsui Posted in 記事紹介・リンク | 5 Comments » 最近は、ソーシャルゲーム開発に関するスライド資料が多く公開されており、各所で人気を集めているようです。 これらのスライド資料は、高負荷・大量アクセスを捌くための工夫がちりばめられており、とてもためになるものが多いです。 今回はそんなソーシャルゲーム開発に関するスライド資料をまとめてみました。 まずは手前味噌ですが、昨年のOSC北海道での発表に使わせて頂いた私のスライドです。 ブラウザ三国志を開発した際に苦労した箇所などをまとめました。 → ke-tai.org OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」 [ke-tai.org] PHPで大規模ブラ

  • xamppのMySQLの文字化け

    いつもお世話になっております。 xamppをインストールし、開発を行っております。 formでsubmitし、DBに登録すると文字化けを起こします。 MySQLは下記項目を追加しました。 C:\xampp\mysql\bin\my.ini -------------------------------------------------- [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake character_set_server=utf8 init-connect=SET NAMES utf8 (ここに default-character-set = utf8 を追加するとMySQLが起動しなくなります。) [mysqldump] default-character-set

    xamppのMySQLの文字化け
    dhalmel
    dhalmel 2011/08/12
    「MySQL 5.5で、mysqldでのパラメタのキーワードが変更されdefault-character-set は、廃止」最新のXAMPP、MySQLは5.5なのだ
  • XAMPP MySQL文字化け対処法 とっくり新聞

    XAMPPをパソコンにインストールしました。 XAMPPというのはApache/MySQL/PHP/Perlなどを一括で、様々なプラットフォームに簡単インストールできるスグレモノです。 インストールしたのは XAMPP 1.7.4。構成は以下です。 ・Apache 2.2.17 ・MySQL 5.5.8 ・PHP 5.3.5 ・phpMyAdmin 3.3.9 ・FileZilla FTP Server 0.9.37 ・Tomcat 7.0.3 (with mod_proxy_ajp as connector) で、ウェブサーバーなどは何一つ戸惑うことなく設定できたのですが、MySQLの設定がどうもうまくいかない。 日語が文字化けするんです。 調べてみると、my.cnf というファイルに以下の設定(UTF-8の場合)をしろというのがたくさん出てきます。 [client] default-

    dhalmel
    dhalmel 2011/08/12
    ほぼ同じような事態に遭遇。
  • 文字化けMySQLの設定を確認 | 解体新書

    SHOW VARIABLES LIKE ‘char%’; でMySQLの文字コードを確認。 | character_set_client     | utf8                       | | character_set_connection | utf8                       | | character_set_database   | utf8                       | | character_set_filesystem | binary                     | | character_set_results    | utf8                       | | character_set_server     | latin1                     |

    dhalmel
    dhalmel 2011/08/07
    あとでめも帳に書いておこう。
  • InnoDBでのINSERT IGNOREとAUTO_INCREMENT

    InnoDBでINSERT IGNOREを繰り返してたら、レコード数は増えてないのに、 AUTO_INCREMENTだけがガンガン増えててびっくり。おかげでidの値が飛んでる。 なんなんだろうと思ったらこれ、MySQL 5.1.22以降の仕様なんですね。 以下、マニュアルから引用。強調はおいら。 簡単に言えば、このロックモードの重要な効果は、スケーラビリティーの大幅な向上です。このモードは、ステートメントベースのレプリケーションで使用しても安全です。さらに、「従来」 ロックモードの場合と同じく、任意のステートメントによって割り当てられた自動インクリメント番号が「連続」した値になります。このモードでは 「従来」 モードと比較して、ある重要な例外を除けば、自動インクリメントを使用する任意のステートメントでの意味上の「違い」はありません。 その例外とは、ユーザーが複数行 「単純挿入」 の全部では

    InnoDBでのINSERT IGNOREとAUTO_INCREMENT
    dhalmel
    dhalmel 2011/04/22
    ふむむむ。
  • MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary

    先日、作っているアプリケーションにバグが発生しました。バグの内容は次のようなものでした。 同時に存在してはいけないはずのデータが、DB に存在する 整合性のチェックはアプリケーションレベルで行っている 一意制約のような単純なものではないので、アプリケーションレベルで実装 整合性のチェックロジックは正しい これに対し、バグは次のような状況で発生したと仮説を立てました。 ユーザがレコードを一括登録しようとする 登録ボタンを押したがレスポンスが遅い この間、整合性チェックが走っている ユーザはもう一度登録ボタンを押した 2回目の登録の整合性チェックが走り始める 1回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックの間、DBにはまだ1回目の登録によるINSERTが実行されていないので、チェックを通過した 結

    MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary
  • MySQLの将来が心配なので、(たぶん)日本一のMySQLエキスパート「日本男児」に聞いてみた

    オラクルは、サン・マイクロシステムズを買収後、オープンソースとして提供されていたOpenSolarisを事実上終了し、またオープンソースとしてAndroidを提供しているグーグルに対して「Javaと競合する」という理由で訴訟を起こすなど、オープンソースに対して非協力的と見える行動が続いています。 こうなると、同社が保有するオープンソースデータベースのMySQLの今後は大丈夫なのか懸念されます。すでにMySQLのコアな開発者の何人かは同社を去り、MariaDBやDrizzleといったほかのオープンソースデータベースに取り組んでもいます。今後、MySQLの開発が弱体化したり、方向転換してSolarisのようにクローズドになったりすることはないのでしょうか? そこでMySQLのエキスパートとしてブログ「漢(オトコ)のコンピュータ道」を執筆するブロガー「@nippondanji」であり、かつ日

    MySQLの将来が心配なので、(たぶん)日本一のMySQLエキスパート「日本男児」に聞いてみた
  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • プログラムのコード量を減らす MySQL 関数 | バシャログ。

    みなさん琉球朝顔ってご存知ですか?朝顔の中でもとてもたくましい事で有名な種類ですが今年の夏から我が家の庭に植えた所、未だに花が咲き誇っていて季節外れな事この上ありません、、、なんか雑草化すると駆除は困難だとか、、、 さて今日は知っておくと何かと便利な MySQL 組み込みの関数たちをご紹介しようと思います。プログラムサイドに記述すると数行に及ぶ処理が、SQL ベースで行うとほんの数文字で済んでしまいます。 DATE, DATE_FORMAT 日付や時刻関連の関数はとても充実していますが、中でもよく使うのはこの辺りでしょうか。こんなレコードがある時、、、 mysql> SELECT created FROM users; +---------------------+ | created | +---------------------+ | 2009-06-05 13:33:26 | |

    プログラムのコード量を減らす MySQL 関数 | バシャログ。
  • Google MapsとMySQLの連携

    こんにちは、アシアルの中川です。 Google Mapsに表示する情報をMySQLのgeometry型で扱う方法を試してみました。 Google Mapsのある地点にマーカーを表示したりすることがある場合、 緯度・経度の情報で地点に表示させることができますが、 データベースにこの情報を保存する場合、lat(float), lng(float)とそれぞれカラムに保存する方法もあるのですが、この方法では各データの位置の関係が非常に扱いにくくなります。 Google Mapsで表示されている範囲内のデータのみ取得したい場合や、 ある地点から近い順に取得する場合などに面倒なことになります。 そこで、MySQL4.1以降で用意されている空間情報を扱う機能の「geometry」型を使用します。 「MySQL 4.1 リファレンスマニュアル :: 10 MySQL における空間情報の機能(日語)」 「

    Google MapsとMySQLの連携
  • Mysql+PHPで件数取得:COUNT mysql_num_rows FOUND_ROWS 比較 | 株式会社フォレスト・コンサルタンツ

    のように、全体件数と表示中のデータ件数が併記される場合が多い。ところが、レコード数が多くなったり、SQL文が複雑になると、全体件数の取得にかかるスピードが物凄く遅くなる場合がある。 と言う訳で、どのような方法で全体件数を取得するのが高速なのかを調べてみた。 環境はMysql+PHP。候補は次の3つ。 COUNTを使う。 mysql_num_rowsを使う。(*PHP関数) FOUND_ROWSとSQL_CALC_FOUND_ROWSを使う。 サンプル ※以下のSQLの結果、及び、LIMITの制約を外した場合の結果(=全体件数)を取得する。 $query = 'SELECT id, name, area FROM company ORDER BY id LIMIT 20'; $q1 = 'SELECT COUNT(*) FROM company'; //全体件数を取得するシンプルなSQLクエ

  • 限界までMySQLを使い尽くす!!

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

    限界までMySQLを使い尽くす!!
  • MySQL 文字コードの自動変換を回避するオプション - 2nd life (移転しました)

    http://www.mysql.gr.jp/mysqlml/mysql/msg/9530 で話題になっていたように、 ver. 4.1以降、クライアント/サーバー間でキャラクターセットが自動的に 変換されるようになったことに伴い、多くの方が文字化けといった問題に 悩まされていたかと思います。 この点については開発側に改善を要求してきましたが、4.1.15にて "--skip-character-set-client-handshake" というオプションが導入されました。 http://dev.mysql.com/doc/refman/4.1/en/news-4-1-15.html このオプションを指定することにより、クライアントのキャラクターセットが サーバー側のキャラクターセットに合わせて自動的に設定され、 自動変換が発生しないようになります。特にver. 4.0から移行する際に、

    MySQL 文字コードの自動変換を回避するオプション - 2nd life (移転しました)
    dhalmel
    dhalmel 2009/06/09
    うお!
  • MySQLでカラムの暗号化/復元 (Nega Diary)

    DBを作る上で必ず悩んでしまう問題。 もし、もし、仮にDBからレコードのデータを全部ぶっこぬかれた場合、そこに個人情報が載っかってると非常にマズイ。 だから、もし、もし、仮にDBからレコードをぶっこぬかれても、データとして意味が内容に、暗号化しておけないか・・と。 DBに格納されている時は暗号化されておいて、スクリプトから取り出した時点で、復元されているという感じ。 MD5やCRYPTは、一方通行なため、暗号化する前のデータがわかってなければ使えない。 どうしたらいいものかと調べたので、結果をここにまとめる。 環境:MySQL 4.0.2以降 phoneというカラムがあり、これを暗号化する。 INSERT INTO test( phone ) VALUES ( AES_ENCRYPT( '0120-000-1234', 'secret_key' ) )

    dhalmel
    dhalmel 2009/05/13
    これはありか
  • 「オープンソースMySQLプロジェクトで役目を果たす用意がある」---Sunを離れた“MySQLの父”がOracleに提案

    「オープンソース・プロジェクトは誰にも所有できない。Red HatにとってのFedoraのような,オープンソースのMySQL開発プロジェクトが必要だ。私はそのために役割を果たすことができる」---MySQLのオリジナル開発者Michael “Monty”Widenius氏は2009年4月21日,自身のブログで「(Oracle CEOの)Ellison氏と話し合いたい」と表明した。 Widenius氏はMySQLを最初に開発した技術者であり,MySQL ABの共同創業者。Myという名称は彼の娘の名前に由来する。米Sun MicrosystemsがMySQL ABを買収した後,現在はSunを離れている。 Widenius氏によれば,彼だけでなく,多くのMySQLの主要技術者がすでにSunから去っているという。「SunによるMySQLの買収はスムーズにはいかなかった。ほとんどのMySQLプロジェ

    「オープンソースMySQLプロジェクトで役目を果たす用意がある」---Sunを離れた“MySQLの父”がOracleに提案
    dhalmel
    dhalmel 2009/04/23
    「Red HatにとってのFedora」
  • 1