MySQLの備忘録。調査結果を忘れないように記載。
外部キーと参照整合性の設計:入門から実務判断まで
リレーショナルデータベースでは、複数のテーブルが「参照」で結びついています。注文テーブルの userid はユーザーテーブルの誰かを指し、注文明細の orderid はどこかの注文を指します。この「指す・指される」の関係が壊れると、どのユー…
DB設計の失敗パターンと改善事例 ― 現場でよく踏む地雷とその外し方
アプリケーションの寿命は、DB設計の質にかなり左右されます。コードはリファクタリングで直せますが、テーブル設計の失敗は本番データを抱えたまま直すことになるため、修正コストが桁違いに高くなります。
主キー設計入門 — AUTO_INCREMENT と UUID をどう選ぶか
テーブルを作るときに必ず決めるのが「主キー(Primary Key)をどう採番するか」です。最も一般的な選択肢は次の2つです。
NFC来店・ポイント・承認フローを支える飲食店アプリのDB設計 — 100テーブル超を破綻させない5つの勘所
飲食店発見・来店ポイント系アプリのバックエンド設計に携わり、100テーブルを超えるスキーマを扱いました。「ユーザーが店を探す → NFCタグをスキャンして来店 → ポイントが貯まる → 投稿・応援・スタンプラリー」という体験を支えるデータモ…
テーブル命名規約 — プレフィックスで種別を明示する設計
テーブルが数十を超えたあたりから、スキーマは「一覧を眺めただけでは構造がわからない」状態になっていきます。マスタなのかトランザクションなのか、それとも中間テーブルなのか。名前だけでは判別できず、毎回 DDL を開いて確認するという状況は珍し…
リレーショナルDBの基本概念を図解で理解する
Webアプリケーションやバックエンドの学習を進めると、必ずと言っていいほど「リレーショナルデータベース(RDB)」に出会います。MySQL、PostgreSQL、SQLite、Oracle、SQL Server などはすべて RDB の仲間…
本番DB障害を「探索SQL→原因特定→修正SQL」のループでAIに調査させる
本番データベースの不整合や問い合わせチケットは、開発チームにとって避けて通れない仕事だ。「請求金額がおかしい」「あるはずのデータが表示されない」「二重に登録されている」——こうした報告が届くたびに、経験者が本番へおそるおそる SELECT …
MySQL データは「縦持ち」「横持ち」どっちがいいの?
MySQL データは「縦持ち」「横持ち」どっちがいいの? 今入っている現場で、私は上流工程から関わって動いています。 そんな中、議論になった事案があったのでメモしておこうと思います。 議題はタイトルの通り【縦持ちVS横持 […]
phpMyAdminを狙ったと思われる不正アクセスURL(攻撃対象URL)を晒します。
phpMyAdminを狙ったと思われる不正アクセスURL(攻撃対象URL)を晒します。 マニュアルがないためまだ未完であるものの、楽天市場の3980円送料無料事件より楽天市場内の掲示板で作成した原価計算ツールのアドレスを […]
MySQL:indexの貼り方には要注意。速度低下の原因はインデックスだった。
MySQLのindexは貼り方に要注意! EC向けシステムの基礎が組みあがり、利用可能なカートの追加や動作周りやボタンの共通化などの調整を進めている今日この頃。 「速度が遅い」と感じる場所があり、インデックスをしっかり作 […]





