初心者によくある間違い
- モダンに聞こえるからNoSQLに手を伸ばす。 ほとんどのアプリは関係性を持ち、SQLはそれをうまく扱います。
- お金を浮動小数点で保存する。
0.1 + 0.2が0.3にならないのは有名です。decimal型を使いましょう。 - バックアップがない。 マネージドサービスはたいてい自動でバックアップします — 確認しましょう、決めつけないこと。
- シークレットや巨大なファイルをデータベースに入れる。 ファイルはオブジェクトストレージ (S3、R2) に属します。データベースは リンク を保存します。
- ユーザー入力を貼り付けた生クエリをAIに書かせる。 これはSQLインジェクションを引き起こします。パラメータ化クエリを使いましょう。
- N+1クエリ。 項目ごとにクエリを1つ実行するループ (投稿を100件取得してから、著者の参照を別々に100回) はデータベースを叩きます。関連データを結合 (join) で1クエリにまとめて取得するか、参照をバッチにしましょう。
- 負荷テストを一切しない。 自分のノートPCの50行で瞬時のクエリが、本番の500万行では這うことがあります。性能を信頼する前に、現実的な量のダミーデータをシードしましょう。