導入事例一覧へ戻る
EC・小売·株式会社ネットショップA·Cursor·期間: 3週間

ECサイトのAI生成コードを全面リファクタリング

Next.jsTypeScriptパフォーマンス改善DB最適化

課題

株式会社ネットショップAは、CursorのAIアシスタント機能を活用してECサイトを構築しました。リリース当初は問題なく動作していましたが、商品数が500点を超えたあたりから以下の問題が発生しました。

  • 商品一覧ページの表示に8秒以上 かかるようになった
  • 注文処理中にタイムアウトエラーが頻発
  • 管理画面での商品更新が反映されるまで数分かかる
  • サーバーのメモリ使用量が常時90%以上

診断結果

無料コード診断を実施したところ、以下の問題点が判明しました。

1. N+1クエリ問題

商品一覧の取得で、商品ごとにカテゴリ情報を個別クエリで取得していました。500商品で500回の追加クエリが発生し、レスポンスタイムが著しく悪化。

2. キャッシュ戦略の欠如

すべてのリクエストでデータベースに直接アクセスしており、キャッシュが一切実装されていませんでした。

3. 不適切なデータ構造

AIが生成した型定義が過度にネストされており、JSON のシリアライズ/デシリアライズで不要なオーバーヘッドが発生。

改善内容

| 改善項目 | 施策 | |---------|------| | DB クエリ | JOIN句による一括取得に変更、インデックス追加 | | キャッシュ | Redis を導入し、商品データを5分間キャッシュ | | 型定義 | フラットな構造にリファクタリング | | API設計 | ページネーション対応、不要なフィールドの除外 |

結果

  • 商品一覧の表示時間: 8秒 → 0.3秒(96%改善)
  • 注文処理のタイムアウト: 月30件 → 0件
  • サーバーメモリ使用量: 90% → 45%
  • 保守性スコア(SonarQube): D → A

「AIで素早く作れたのは良かったのですが、お客様が増えて問題が噴出しました。レスキューチームに入ってもらい、安心して運用できるサイトになりました。」 — 株式会社ネットショップA 代表取締役

同じような課題をお持ちですか?

まずは無料コード診断で、あなたのコードの状態を確認しましょう。

無料診断を申し込む