カテゴリー: SQL

RDB, SQL

SQLの書き方 SQL書き方ドリルを通して

  表紙だけ見るとかなりぬるそうなのだけれど本格的! 秀逸な本?ソフトウェア。   同梱されているソフトウェアで演習できるのですが、クオリティが高く問題数も多くて、教材としてすごく良くできてるのですよね。 本屋でぱらぱら見ると『SQLを紙に書く本?』に見えてしまって魅力がわからないと思うのですが、メインはCDに収録されているソフトです。 段階的に暗記せずにSQLが組めるように考 …

MySQL, RDB, チューニング, Linux

MySQL SHOWによる解析とチューニング

MySQLのチューニング調査依頼で時短で終わるように   バージョン CentOS7 MySQL5.6   DB, テーブルのDBエンジンの確認   データベースの確認

  デフォルトのエンジンの確認

    …

MySQL, RDB, チューニング

コンシューマでJOIN禁止, 固定長DBまとめ

コンシューマ世界でのJOIN禁止、固定長ルールのまとめ 私 JOIN禁止の世界は知らない(1テーブルに1億以上のレコードを扱ったことがない) 原則として正規化できるものは正規化してJOINを行い、正規化する必要のないものは正規化しないスタンス 1テーブルはどんなに大きくても20カラム限界がセオリー →正規化できるのではないか、テーブルをわける 1テーブルが大きく正規化されずに開発されたサービスの保 …

MySQL, SQL, チューニング

SQL インデックスが効かない検索

  基本戦略 テーブルを正規化する JOIN(INNER JOIN)を有効に活用する 非正規化でテーブルを巨大にしない すべてのテーブルを正規化することは出来ない 出来るテーブルのみ正規化する EXPLAINで計測する、INDEXが有効に動いているか確認する   インデックスのデメリット SELECT性能がBtreeインデックスによって向上するが、UPDATEでINDEXが再生 …

SQL

Software Design SQL50本ノックやってみた。

環境構築編 購入の価値ありです。     SQL1. SELECT  

    SQL2. 条件を指定する WHERE  

    SQL3. cutomerテーブルの名前(first_n …

MySQL, SQL, トラブルシューティング

MySQL デッドロック対処

MySQLのデッドロック対処 おまけでギャップロック 寄稿しました。 今回はトランザクションでよくありがちなデッドロックのご紹介。         たすきがけのデッドロック よくデッドロックはなんぞや?といった時に提示されるパターンです。  

      …

MySQL, Linux

Percona XtraBackup ロールフォワード

Percona XtraBackup mysqldumpリストア時間比較 おまけでロールフォワード 寄稿しました。   どっちを使う? XtraBackup レプリケーションが行われているシステム。 WEBサービス。1秒も止められないようなもの。1秒で利益や損失が発生するサービス。 XtraBackup, mysqldumpの併用しておく。 mysqldump 業務アプリ。深夜や早朝、お …

SQL, チューニング

SQLパフォーマンス要約 なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策

  自分用に要約メモ。 詳しい記事は引用先をみてくださいな。 @see なぜ、SQLは重たくなるのか? —『SQLパフォーマンス詳解』の翻訳者が教える原因と対策   ORMが自動生成するSQLを確認する 通常はSELECT+JOIN句で処理できるSQL対して、N+1問題が発生していないか。 10記事取得するSQLで、 記事取得で終わるSQL一発が、記事取得1+各記事 …

MySQL, チューニング, Linux

MySQL 5.6 ファイルディスクリプタ カーネルチューニング CentOS7

MySQL5.6 ファイルディスクリプタチューニング CentOS7   [Warning] Buffered warning: Could not increase number of max_open_files to more than 1024 (request: 10140) [Warning] Buffered warning: Changed limits: max_con …

MySQL

MySQL5.6.22以下注意 SET GLOBAL sql_log_bin

  MySQLのレプリケーション環境を運用していると、バイナリログへの記録を一時的に止めるためにsql_log_bin=0を実行したことがあるだろう。これを「set GLOBAL sql_log_bin=0」と、グローバル変数への変更として実行すると大変なことになる、という指摘。TwitterのMySQLエンジニア、Jeremy Cole氏の提言。 MySQL 5.5.41、5.6.22 …

MySQL, SQL

SQL 置換 REPLACE

  値を置換します。

  万単位のレコード置換は本当に気持ちが良いもの。 このクエリ大好き。   使う機会を震えて待ってます(*’∀’人)    

MySQL

MySQL レプリケーション監視スクリプト

  レプリケーション監視スクリプト   replication_check.sh