カテゴリー: MySQL

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

MySQLデッドロック ロックしているスレッドを殺す

  逝ったれや!🐱

  @seeLaravel, AWS ポートフォリオ作成サポート! 定員5名 https://menta.work/plan/2381 Laravel, AWSによるポートフォリオ作成を通して、エンジニア転職をサポートします M …

MySQL, SQL

SQL グループの中で最新の日付のデータを取得する MySQL

●tb_user_section user_id section_id created 1 1 2020-05-11 20:00:00 1 2 2020-05-12 20:00:00 1 3 2020-05-13 20:00:00 2 1 2020-05-15 20:00:00 3 2 2020-05-18 20:00:00 3 4 2020-05-19 20:00:00 user_idのグループ …

MySQL, SQL, PHP

Laravel SQLを実行 ヒアドキュメント クロス集計

手の込んだ集計などはSQLで取った方がシンプルになることも多い ヒアドキュメントを利用して記述するのが良いですね🐱

終端文字の後に1行空行を入れること この場合だとSQL; 終端文字の行の前後に文字が入らないようにする →左端にくっつきます。 結果はarray+stdClassで取得されます ヒアドキュメント内の変数 ・int型は{ …

MySQL

MySQL xxx doesn’t have a default value

MySQL5.6以降から規約が厳しくなった。 SQLを改善する MySQLの設定で緩める   今回はMySQLの設定を緩めることで対応   /etc/my.cnf

  対応

   Laravel, AWS ポートフォリ …

MySQL, RDB, SQL

MySQL5.7 いいね機能のSQL

    SQLの実行順序おさらい   SELECT 列の抽出対象 FROM テーブル名 WHERE 行の絞り込み条件 GROUP BY hoge_colum HAVING 100 > amount Aテーブルの列と行を切り出しイメージをする Bテーブルの列と行を切り出しイメージをする ONで結合条件を指定 WHEREで行を絞りこむ GROUP BYでグループ化 …

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

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

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

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

    …

MySQL, AWS

AWSでのMySQLデータ生存戦略

  MySQL on EC2 EFSをマウント mysqldumpのスナップショットを定期で取ってEFSに出力 バイナリログを–result-file=で指定してEFSに出力 合わせて、 Cronを5秒ずつ程度走らせてバイナリログをS3に同期してバックアップ CloudWatchにもログを出力   MySQL on RDS 5分毎にSnapshotが走っている仕様 …

MySQL, RDB, チューニング

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

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

MySQL, SQL, チューニング

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

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

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

MySQL デッドロック対処

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

      …

MySQL, Linux

Percona XtraBackup ロールフォワード

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

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 …