インデックスの仕組みと設計原則:入門新着!!
「SELECT が遅い」「件数が増えたら急に重くなった」——こうした悩みの多くはインデックス設計で解決できます。本記事では、RDB(MySQL / PostgreSQL を想定)のインデックスがどう動くのかを、B-Tree の仕組みから設計…
DB設計の失敗パターンと改善事例 ― 現場でよく踏む地雷とその外し方
アプリケーションの寿命は、DB設計の質にかなり左右されます。コードはリファクタリングで直せますが、テーブル設計の失敗は本番データを抱えたまま直すことになるため、修正コストが桁違いに高くなります。
NFC来店・ポイント・承認フローを支える飲食店アプリのDB設計 — 100テーブル超を破綻させない5つの勘所
飲食店発見・来店ポイント系アプリのバックエンド設計に携わり、100テーブルを超えるスキーマを扱いました。「ユーザーが店を探す → NFCタグをスキャンして来店 → ポイントが貯まる → 投稿・応援・スタンプラリー」という体験を支えるデータモ…
計測データの時系列グラフAPIを「期間窓ごとに欠損ゼロ」で返す設計
計測機器向けのSaaS案件で、測定値の推移を「1ヶ月 / 3ヶ月 / 半年 / 1年」で切り替える折れ線グラフのAPIを担当しました。一見「期間で集計して返すだけ」ですが、実運用に載せると「測定が無い期間をどう扱うか」が最大の設計判断になり…
テーブル命名規約 — プレフィックスで種別を明示する設計
テーブルが数十を超えたあたりから、スキーマは「一覧を眺めただけでは構造がわからない」状態になっていきます。マスタなのかトランザクションなのか、それとも中間テーブルなのか。名前だけでは判別できず、毎回 DDL を開いて確認するという状況は珍し…
本番DB障害を「探索SQL→原因特定→修正SQL」のループでAIに調査させる
本番データベースの不整合や問い合わせチケットは、開発チームにとって避けて通れない仕事だ。「請求金額がおかしい」「あるはずのデータが表示されない」「二重に登録されている」——こうした報告が届くたびに、経験者が本番へおそるおそる SELECT …
MySQL:indexの貼り方には要注意。速度低下の原因はインデックスだった。
MySQLのindexは貼り方に要注意! EC向けシステムの基礎が組みあがり、利用可能なカートの追加や動作周りやボタンの共通化などの調整を進めている今日この頃。 「速度が遅い」と感じる場所があり、インデックスをしっかり作 […]


