タグ

mysqlに関するfavoriteonlineのブックマーク (6)

  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
  • MySQLのメモリ設定の勘所 – sawara.me

    MySQLサーバーをダウンさせた夜は数知れず。 その度にmy.cnfの設定を見なおしてみてはトライし、治ったと思いきや突然のダウン。 サーバーがダウンしてしまう原因は何かと聞かれれば、「メモリです」と断言しましょう。 メモリ設定は諸刃の剣。 パフォーマンスを最大に引き出すこともできればそれと引き換えにサーバーをダウンさせてしまうこともできるんです。 今回はMySQLのメモリの設定の勘所というかたちで紹介しようと思います。 グローバルバッファとスレッドバッファ メモリの設定についてまず「グローバルバッファ」と「スレッドバッファ」について理解しておくことが大事です。バッファとは一時的な記憶領域・つまりはメモリの領域のことなのですが。 グローバルバッファ MySQLで使用する全体的なメモリ使用量を計算するには グローバルバッファ + (スレッドバッファ × コネクション数) = メモリ使用量 と

    MySQLのメモリ設定の勘所 – sawara.me
  • SQLを繰り返し実行したら段階的に応答速度が上がった話 - なからなLife

    MySQL Casual Advent Calendar 2016 - Qiitaの6日目の記事です。 AdventCalendar自体初参加でドキドキ、してたら、成り行きで2日連続。 コレ用のきれいなエビデンス取れるような環境要していなかったので、普段より荒っぽいですが、Casualな感じで失礼します。 大きなテーブルを繰り返しSELECTしてたら、挙動が変わったんですよ。 バッファに載っているなら載っているで早いだろうし、載っていいなら最初ガッツリ遅くて、次からグイっと速くなるだろうと思っていたんですよ。 バッファに載りきらないなら、何回やっても遅いだろうと思っていたんですよ。 で、ちょいと計測的なことをやってた関係で、同じSQLを何度か叩いて平均、中央を見ようと思っていたんです。 そしたら、 45.71秒、44.90秒、24.44秒、13.32秒、13.12秒・・・ と、段階的に応答

    SQLを繰り返し実行したら段階的に応答速度が上がった話 - なからなLife
  • MySQLチューニング

    Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki

    MySQLチューニング
  • MySQLのクエリキャッシュの設定値、パフォーマンス | VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

    MySQLのクエリキャッシュの概要、設定値、パフォーマンスについてまとめました。 ※目次をクリックすると目次の下部にコンテンツが表示されます。 1.MySQLのクエリ実行の概要 2.クエリキャッシュの概要 3.クエリキャッシュの動作の概要 4.クエリキャッシュの設定 5.クエリキャッシュの保守とステータス確認 6.クエリキャッシュのチューニング ①クライアントがSQL文をサーバーへ送信 ②サーバーがクエリキャッシュをチェックし、ヒットしたらキャッシュから保存済みの結果をリターンし、ヒットしない場合は、SQL文を次の工程に渡す。 ・大文字小文字を区別。 ・ヒットした際、権限をチェックしている。 ③サーバーがSQL文をパース、前処理、最適化してクエリの実行プラン作成。 ④クエリ実行エンジンがストレージエンジンに対して実行プランを実行。 ⑤サーバーが実行結果をクライアントに送信。 ・SELECT

  • MySQL 初めてのチューニング

    PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki

    MySQL 初めてのチューニング
  • 1