Use Cases

Claude Code के साथ SQL Practical Guide

Claude Code का उपयोग करके sql practical guide सीखें। Practical tips और code examples शामिल हैं।

SQLqueryoptimizationको Claude Code से実践する

databaseのperformance問題は多くのProjectで発生し है।Claude Code का उपयोग करके、遅いqueryの原因特定 सेインデックス設計 तक、SQLのoptimizationをefficiently進められ है।

スローqueryの分析

実行計画の読み方

> निम्नलिखितのqueryが遅い原因を分析して:
> SELECT u.*, COUNT(o.id) as order_count
> FROM users u
> LEFT JOIN orders o ON u.id = o.user_id
> WHERE u.created_at > '2025-01-01'
> GROUP BY u.id
> ORDER BY order_count DESC
> LIMIT 20;

Claude Codeは実行計画(EXPLAIN ANALYZE)の結果を貼り付けると、ボトルネックを特定して改善案を提示してくれ है।

-- 改善बाद:ज़रूरीなcolumnのみ選択、インデックスutilization
SELECT
  u.id,
  u.name,
  u.email,
  COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at > '2025-01-01'
GROUP BY u.id, u.name, u.email
ORDER BY order_count DESC
LIMIT 20;

-- 推奨インデックス
CREATE INDEX idx_users_created_at ON users(created_at);
CREATE INDEX idx_orders_user_id ON orders(user_id);

インデックス設計

複合インデックスのoptimization

> निम्नलिखितのsearch条件に最適なインデックスを設計して:
> - status + created_at での範囲search
> - category + price でのfilter + sort
-- 等価条件を先、範囲条件をबादに配置
CREATE INDEX idx_products_status_created
  ON products(status, created_at DESC);

-- カバリングインデックスでaddのtableアクセスを回避
CREATE INDEX idx_products_category_price
  ON products(category, price)
  INCLUDE (name, description);

Claude Codeは「カーディナリティの高いcolumnを先にする」「範囲searchcolumnはインデックスの末尾にする」といった設計原則も合わせて説明してくれ है।

N+1問題の検出と解消

> इसORMcodeにN+1問題がないかconfirmして:
// N+1問題あり
const users = await prisma.user.findMany();
for (const user of users) {
  const orders = await prisma.order.findMany({
    where: { userId: user.id },
  });
}

// 改善बाद:includeで一括fetch
const users = await prisma.user.findMany({
  include: {
    orders: true,
  },
});

ウィンドウfunctionのutilization

complexな集計やランキングqueryは、ウィンドウfunction use करना बातでサブqueryよりefficiently記述でき है।

-- 各カテゴリ内での売ऊपरランキング
SELECT
  product_name,
  category,
  revenue,
  RANK() OVER (PARTITION BY category ORDER BY revenue DESC) as rank,
  SUM(revenue) OVER (PARTITION BY category) as category_total
FROM product_sales;

パーティショニング

大量dataのtableにはパーティショニングも有効 है।Claude Codeに「इसtableを月ごとにパーティション分割して」と依頼すると、appropriateなパーティション戦略を提案してくれ है।

Summary

Claude Code का उपयोग करके、SQLqueryのボトルネック分析 सेインデックス設計、ORMレベルでのoptimization तक一貫して改善でき है।databasemigrationPrisma ORMutilizationも合わせてreference के लिए देखें。

SQLperformanceके details के लिएUse The Index, Lukeをदेखें。

#Claude Code #SQL #database #performance #optimization