SkillJavaScriptv1.0.0

postgres-perf

PostgreSQL performance optimization and best practices.

1 downloads
kjaylee
Updated Feb 8, 2026

PostgreSQL Performance

DB ์ฟผ๋ฆฌ/์Šคํ‚ค๋งˆ ์ž‘์„ฑ ์‹œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€์ด๋“œ.

์šฐ์„ ์ˆœ์œ„๋ณ„ ํ•ต์‹ฌ ๊ทœ์น™

๐Ÿ”ด CRITICAL: ์ฟผ๋ฆฌ ์„ฑ๋Šฅ

-- โŒ ์ธ๋ฑ์Šค ์—†๋Š” WHERE
SELECT * FROM orders WHERE customer_email = 'user@example.com';

-- โœ… ์ธ๋ฑ์Šค ์ƒ์„ฑ
CREATE INDEX idx_orders_email ON orders(customer_email);
  • EXPLAIN ANALYZE ์Šต๊ด€ํ™” โ€” ์‹คํ–‰ ๊ณ„ํš ํ•ญ์ƒ ํ™•์ธ
  • Seq Scan์ด ํฐ ํ…Œ์ด๋ธ”์— ๋‚˜ํƒ€๋‚˜๋ฉด ์ธ๋ฑ์Šค ํ•„์š”
  • SELECT * ๊ธˆ์ง€ โ†’ ํ•„์š”ํ•œ ์ปฌ๋Ÿผ๋งŒ ์„ ํƒ
  • N+1 ์ฟผ๋ฆฌ โ†’ JOIN ๋˜๋Š” ๋ฐฐ์น˜ ์กฐํšŒ๋กœ ๊ต์ฒด

๐Ÿ”ด CRITICAL: ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ

  • ์ปค๋„ฅ์…˜ ํ’€ ์‚ฌ์šฉ (์ง์ ‘ ์—ฐ๊ฒฐ ๊ธˆ์ง€)
  • Supabase โ†’ pgBouncer (transaction mode)
  • ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ โ†’ ์ปค๋„ฅ์…˜ ํ’€ ํ•„์ˆ˜
  • ์œ ํœด ์ปค๋„ฅ์…˜ ์ •๋ฆฌ

๐ŸŸก HIGH: ์Šคํ‚ค๋งˆ ์„ค๊ณ„

-- โŒ ๋ฌด๋ถ„๋ณ„ํ•œ ์ธ๋ฑ์Šค
CREATE INDEX idx_everything ON orders(a, b, c, d, e);

-- โœ… ๋ถ€๋ถ„ ์ธ๋ฑ์Šค (์ž์ฃผ ์“ฐ๋Š” ์กฐ๊ฑด)
CREATE INDEX idx_active_orders ON orders(created_at)
WHERE status = 'active';
  • ์ •๊ทœํ™” vs ๋น„์ •๊ทœํ™” โ€” ์ฝ๊ธฐ ํŒจํ„ด์— ๋งž๊ฒŒ ๊ฒฐ์ •
  • UUID vs serial โ†’ UUID๊ฐ€ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์— ์œ ๋ฆฌํ•˜๋‚˜ ์ธ๋ฑ์Šค ํฌ๊ธฐ ํผ
  • JSONB โ†’ ๊ตฌ์กฐํ™” ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋งŒ, ์ฟผ๋ฆฌ ๋Œ€์ƒ์ด๋ฉด ์ปฌ๋Ÿผ์œผ๋กœ

๐ŸŸข MEDIUM: ๋™์‹œ์„ฑ/์ž ๊ธˆ

  • ๋Œ€๋Ÿ‰ UPDATE/DELETE โ†’ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ
  • SELECT ... FOR UPDATE โ†’ ํ•„์š”ํ•œ ํ–‰๋งŒ ์ž ๊ธˆ
  • ํŠธ๋žœ์žญ์…˜ ์ตœ์†Œํ™” (์งง๊ฒŒ ์œ ์ง€)
  • ๋ฐ๋“œ๋ฝ ๋ฐฉ์ง€ โ€” ์ผ๊ด€๋œ ์ž ๊ธˆ ์ˆœ์„œ

๐Ÿ”ต LOW: RLS (Row Level Security)

-- ๋ณด์•ˆ ์ •์ฑ… ์˜ˆ์‹œ
CREATE POLICY user_data ON user_profiles
  FOR SELECT USING (auth.uid() = user_id);
  • RLS ์ •์ฑ…์€ ์ธ๋ฑ์Šค์™€ ํ•จ๊ป˜ ์„ค๊ณ„ (์„ฑ๋Šฅ ์ž„ํŒฉํŠธ!)
  • auth.uid() ํ˜ธ์ถœ ์ตœ์†Œํ™”
  • ๋ณต์žกํ•œ ์ •์ฑ… โ†’ EXPLAIN์œผ๋กœ ์„ฑ๋Šฅ ํ™•์ธ

์‹ค๋ฌด ํŒ

  • ๊ฐœ๋ฐœ ์ค‘: EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
  • ํ”„๋กœ๋•์…˜: ์Šฌ๋กœ์šฐ ์ฟผ๋ฆฌ ๋กœ๊ทธ ํ™œ์„ฑํ™”
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜: ๋Œ€์šฉ๋Ÿ‰ ํ…Œ์ด๋ธ” ALTER๋Š” ๋น„๋™๊ธฐ๋กœ
  • ๋ฐฑ์—…: NAS์— pg_dump ์ž๋™ํ™” ๊ฐ€๋Šฅ
Free
Installation
Reviews

Sign in to leave a review.

No reviews yet. Be the first.