栞/#mysql
Q4Mを使って日記書き込みのDB反映を非同期化することでデッドロック回避。
MySQLのtips。型の選び方とか。
「最小限の列のみで filesort を行った後に自己結合する方が2倍以上速かったり」
計測重要…。
PHPからQ4M。PDO使用。
MySQLの全文検索を使ってタグの機能を実装。
MySQLの管理設計ツール。
一概にSQLのjoinが悪い訳じゃないよ、と。そりゃそうだ。
単にorder by rand()すると負荷が高いので一工夫。
はてなのデータ処理発表資料、主にMySQL。
「永続的なハッシュとしてしか MySQL を使わないようなケースでは、どのみちプロセス間通信がボトルネックになるので InnoDB でも MyISAM でもパフォーマンスは変わらないんじゃないかと思った。」
うまくメモリにキャッシュを乗せられるように。
MySQLのgeometry型の使い方。
MySQLユーザコンファレンスの記事へのリンク。
PHPでMySQLを使う場合のクライアントエンコーディング、セキュリティ周り。
MySQLユーザコンファレンス2008、10/30-31。
MySQL/Senna/Tritonn/MeCab/Apache/PHPをソースからインストール。
PDOでprocedureを使う場合に。
insertするデータを予めソートしておいた方が速い。
MySQLのクエリのexplain結果や実行時間などを表示してくれるRailsプラグイン、query-reviewerの紹介。
mixiエコーの裏側。Recent DB(全ユーザーの最新データ)、そこへのキューとしてのQ4Mの活用。
軽量版のMySQLが作られるらしい。デフォルトはInnoDBになるとのこと。
「dependent subquery より left join ~ isnull のが速い」
MySQLでlike演算子を使う場合のエスケープ。
MySQL管理用のコマンド集。
count(*)の代わりにSQL_CALC_FOUND_ROWSを使った場合の性能比較。
MySQLのプラグインをC++で書くと速い。
「スケーラビリティが問題になるようなケースでは、複雑であっても、データサイズに依存せず、極端に重い処理が発生しないアルゴリズムのほうがいいのかな」
友達のタイムライン取得処理をDB側でどう実装するか。登録でがんばる or 取得でがんばる。
show statusの結果をもとにチューニング。