MySQLの備忘録。調査結果を忘れないように記載。

MySQL備忘録
NFC来店・ポイント・承認フローを支える飲食店アプリのDB設計 — 100テーブル超を破綻させない5つの勘所

飲食店発見・来店ポイント系アプリのバックエンド設計に携わり、100テーブルを超えるスキーマを扱いました。「ユーザーが店を探す → NFCタグをスキャンして来店 → ポイントが貯まる → 投稿・応援・スタンプラリー」という体験を支えるデータモ…

続きを読む
MySQL備忘録
テーブル命名規約 — プレフィックスで種別を明示する設計

テーブルが数十を超えたあたりから、スキーマは「一覧を眺めただけでは構造がわからない」状態になっていきます。マスタなのかトランザクションなのか、それとも中間テーブルなのか。名前だけでは判別できず、毎回 DDL を開いて確認するという状況は珍し…

続きを読む
MySQL備忘録
リレーショナルDBの基本概念を図解で理解する

Webアプリケーションやバックエンドの学習を進めると、必ずと言っていいほど「リレーショナルデータベース(RDB)」に出会います。MySQL、PostgreSQL、SQLite、Oracle、SQL Server などはすべて RDB の仲間…

続きを読む
MySQL備忘録
本番DB障害を「探索SQL→原因特定→修正SQL」のループでAIに調査させる

本番データベースの不整合や問い合わせチケットは、開発チームにとって避けて通れない仕事だ。「請求金額がおかしい」「あるはずのデータが表示されない」「二重に登録されている」——こうした報告が届くたびに、経験者が本番へおそるおそる SELECT …

続きを読む
MySQL備忘録
MySQL データは「縦持ち」「横持ち」どっちがいいの?

MySQL データは「縦持ち」「横持ち」どっちがいいの? 今入っている現場で、私は上流工程から関わって動いています。 そんな中、議論になった事案があったのでメモしておこうと思います。 議題はタイトルの通り【縦持ちVS横持 […]

続きを読む
MySQL備忘録
phpMyAdminを狙ったと思われる不正アクセスURL(攻撃対象URL)を晒します。

phpMyAdminを狙ったと思われる不正アクセスURL(攻撃対象URL)を晒します。 マニュアルがないためまだ未完であるものの、楽天市場の3980円送料無料事件より楽天市場内の掲示板で作成した原価計算ツールのアドレスを […]

続きを読む
MySQL備忘録
MySQL:indexの貼り方には要注意。速度低下の原因はインデックスだった。

MySQLのindexは貼り方に要注意! EC向けシステムの基礎が組みあがり、利用可能なカートの追加や動作周りやボタンの共通化などの調整を進めている今日この頃。 「速度が遅い」と感じる場所があり、インデックスをしっかり作 […]

続きを読む
MySQL備忘録
phpMyAdmin:CSVインポートでNULLを入れる方法

MYSQLにCSVインポートでNULLを入れる方法 PHP使いのMYSQLクライアントツールと言えばphpMyAdminが定番ですよね。 今回も私の失敗談からの備忘録。「CSVでNULL入らねーじゃねーか」の解決編となり […]

続きを読む