Database Labdon
873 subscribers
36 photos
3 videos
1 file
886 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
A SQL Heuristic: ORs Are Expensive (10 minute read)

🟢 خلاصه مقاله:
OR در SQL اغلب باعث کندی می‌شود، چون بسیاری از query plannerها برای OR بین ستون‌های مختلف به sequential scan یا index merge/bitmap OR متوسل می‌شوند، در حالی‌که AND به‌طور طبیعی با compound indexها جور است. یک راه مؤثر، بازنویسی OR به چند کوئریِ ایندکس‌پسند و ترکیب آن‌ها با UNION/UNION ALL است تا هر شاخه از ایندکس مناسب خود استفاده کند و زمان اجرا گاهی تا ۱۰۰ برابر کاهش یابد. راه‌حل پایدارتر، بازطراحی schema با extension tables است تا به‌جای OR روی چند خاصیتِ پراکنده، با JOIN به جدول‌های باریک و ایندکس‌شده دسترسی پیدا کنید. همیشه با EXPLAIN/EXPLAIN ANALYZE اندازه‌گیری کنید؛ در جداول کوچک یا OR روی یک ستون (مشابه IN) شاید مشکل نداشته باشید، اما به‌طور کلی: AND را با compound index هماهنگ کنید، از OR بین ستون‌ها بپرهیزید، در صورت لزوم از UNION بهره ببرید و برای مسیرهای پرتردد، بازطراحی schema را در نظر بگیرید.

#SQL #DatabasePerformance #QueryOptimization #Indexes #PostgreSQL #MySQL #DataModeling #EXPLAIN

🟣لینک مقاله:
https://ethanseal.com/articles/ors-are-expensive?utm_source=tldrdata


👑 @Database_Academy
🔵 عنوان مقاله
SkipScan in TimescaleDB: Why DISTINCT Was Slow, How We Built It, and How You Can Use It

🟢 خلاصه مقاله:
SkipScan در TimescaleDB مشکل دیرینه‌ی کندی کوئری‌های DISTINCT را هدف می‌گیرد؛ جایی که برای یافتن مقادیر یکتا، اسکن‌های بزرگ و تکراری روی ایندکس انجام می‌شود. این ویژگی با «پرش» از میان بلوک‌های مقادیر تکراری و رفتن مستقیم به مقدار یکتای بعدی، تعداد خواندن‌ها و مقایسه‌ها را کاهش می‌دهد و DISTINCT و DISTINCT ON را مخصوصاً روی هایپرتیبل‌های بزرگ سریع‌تر می‌کند. برای بهره‌گیری عملی، ایندکس‌های B-tree چندستونه هم‌راستا با کلیدهای DISTINCT و ترتیب ORDER BY بسازید؛ برنامه‌ریز به‌صورت خودکار در الگوهای مناسب SkipScan را انتخاب می‌کند و در غیر این صورت به مسیرهای عادی برمی‌گردد. بیشترین سود زمانی است که داده‌ها تکرار زیاد و هم‌جواری مناسب در ایندکس داشته باشند.

هم‌زمان، Aksman و Hein از TigerData با همراهی Sebastian Insausti به بهبودهای عملیاتی و گزینه‌های یکپارچه‌سازی در Postgres 16 می‌پردازند؛ از رصد و تنظیم‌پذیری بهتر گرفته تا ساده‌تر شدن نگهداری و همگام‌سازی و تقویت اکوسیستم الحاقات و اتصال به سامانه‌های دیگر. این تغییرات عملیاتی، در کنار بهینه‌سازی‌هایی مانند SkipScan، Postgres 16 را به پایه‌ای توانمندتر برای بارهای تحلیلی و زمان‌محور تبدیل می‌کند.

#TimescaleDB #Postgres16 #SkipScan #DISTINCT #DatabasePerformance #TimeSeries #SQL #Postgres

🟣لینک مقاله:
https://postgresweekly.com/link/175400/web


👑 @Database_Academy