EXISTSはレコード数が増加すると速度が悪化する EXISTSはINNER JOIN NOT EXISTSは副問い合わせ OR EXISTSはUNION ALL 上記に変更できないかを検討する Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には …
カテゴリー: SQL
performance_schemaでのロック待ち、スロークエリ分析
引用元 https://zenn.dev/hiro1111/articles/performance_schema ステートメント分析 最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。 待機イベント分析 データベースの待機イベントを …
[MysQL]オンラインDDL
オンラインDDL データベース稼働中に無停止で既存テーブルに対して変更を行う技術 変更中にロックされなくなり該当テーブルに対して読み書きが可能 ALGORITHM=INPLACE 処理をブロックしない。「その場で」で更新を行う LOCK=NONE ロックを行わない Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kin …
[訓練]誤って有料会員を無料会員に全件更新してしまったので、テーブルを復旧する
経緯 とある動画をラジオ感覚で流していた スタートアップに在籍 有料会員数は100程度のサービスを運用 メンテナンス作業のミスによるインシデントが発生 事故の内容 1件の特定の有料会員を無料会員に修正するメンテナンスを行う時に // WHERE句の付け忘れ // ;の位置が早くてWHEREが入らないケース // 改行されている && 1行目のみ選択されている & …
AWS RDS PITR+ロールフォワードによるリカバリ 【誤ったクエリ発行からの復旧】
RDSのクエリ単位での復旧手順 ソシャゲとかECで、バグでアイテムを9999999999999個大量配布しちゃった時に、スーパーメンテナンスタイムからの問題あるクエリを回避しつつの真のリストアで通常運営できる状態に復旧します。 前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 RDS MySQL DBダンプコマンドのコツ 関 …
AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】
前提条件 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 RDS MySQL DBダンプコマンドのコツ 関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR …
AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】
関連 AWS RDS PITR+ロールフォワードによるリカバリ 【下準備編】 AWS RDS PITR+ロールフォワードによるリカバリ 【汎用 RDSのディスク障害からの復旧】 AWS RDS PITR+ロールフォワードによるリカバリ 【誤ったクエリ発行からの復旧】 RDS側作業 binlog保存期限設定 24時間の保持に設定 …
JOIN, EXISTS, IN使い分け
言語化しておく🐱 主表と従属表でどちらのカラムも必要な場合 JOIN LEFT JOIN 従属表のカラムの列にnullが必要な場合 条件によってnullで表示させたい場合はON句を使う ON A.id = B.a_id AND B.delete_flag = 0 INNER JOIN 主表と従属表の共通行を出したい場合 &nbs …
MySQL SELECTしかできないUserを作る
metabase用にSELECTしかできないユーザを作ることになった🐱 例 Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><
Laravel クエリビルダー 複数JOINとWHERE条件 query builder
クエリビルダはあまり使わないのだけど、レコードの有無を取得する場合や集計処理なんかでは使うことがある🐱 生クエリがこうだとする select * from `employee_emails` left join `employee_skills` on `employee_skills`.`employee_email_id` = `employee_ …
すべらないSQLによる本番マイグレーション
仕様変更によってremarksにあるデータをlogin_infoに移す本番マイグレーションがありました。 事業部に伝わる秘技 ポイント 作業前バックアップ →ヤバくなったら戻せる 立会いによるレビュー トランザクションとカウントを駆使したマイグレーション マイグレーションを本番サーバ内のトランザクションを利用することで、 更新対象を常に確認しながら実行することで精度を確 …
Resolved [mysqlbinlog] ERROR: Got error reading packet from server: Could not find first log file name in binary log index file
mysqlbinlog: unknown option –raw ?? 解決 MySQL ClientがMariadbになっていた。 RDSはMySQL5.7なので これで実行できた Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならi …