TGViewer
Database Database @database_academy · 892 subscribers
Post #1632 67
🔵 عنوان مقاله
TPC-H Query 15 - Scalar Constants and Materialisation (5 minute read)

🟢 خلاصه مقاله:
در این مقاله به یکی از مفاهیم مهم در بهینه‌سازی کوئری‌های پایگاه داده‌ها می‌پردازیم، جایی که اشاره می‌شود استفاده مجدد از یک عبارت تعریف‌شده در قسمت Common Table Expression (CTE) در یک کوئری، می‌تواند مسئله‌ای مهم در عملکرد سیستم باشد. زمانی که یک CTE در یک کوئری چندین‌بار مورد استفاده قرار می‌گیرد، سوال این است که سیستم مدیریت پایگاه داده (DBMS) نتیجه این عبارت را فقط یک‌بار محاسبه می‌کند و در حافظه نگهداری می‌کند یا هر بار که به آن نیاز است، مجدداً همان محاسبات را انجام می‌دهد. این موضوع عملکرد کوئری‌ را به شدت متاثر می‌کند، مخصوصاً در جایی که کوئری‌های پیچیده و پرحجم دارند.

در بخش بعدی، به اهمیت این موضوع در بهبود کارایی سیستم اشاره می‌شود، جایی که سیستم‌های مختلف ممکن است رفتار متفاوتی نشان دهند. برخی از سیستم‌ها با استفاده از تکنیک‌های مادی‌سازی نتایج، نتیجه‌های محاسبه‌شده را ذخیره می‌کنند، در حالی که برخی دیگر ممکن است هر بار نتیجه را مجدداً محاسبه کنند، که این امر منجر به کاهش کارایی می‌شود. بررسی این جنبه‌ها در هنگام نوشتن کوئری‌های بهینه اهمیت ویژه‌ای دارد، مخصوصاً زمانی که از مقادیر ثابت (Scalar Constants) استفاده می‌شود که در صورت مادی‌سازی، می‌توانند به شدت در زمان اجرای کوئری صرفه‌جویی کنند.

در نهایت، یکی از نکات کلیدی در این مطالعه، نحوه تأثیرگذاری این رفتار بر اجرای کوئری است. آزمایش‌هایی که با استفاده از نمونه‌های مختلف انجام شده نشان می‌دهد که رفرنس دادن مجدد به همان CTE، در صورت عدم استفاده از مادی‌سازی، منجر به انجام مجدد تمام عملیات‌های مربوطه می‌شود که کاملاً ممکن است بر زمان اجرای کوئری تأثیر منفی بگذارد. بنابراین، فهمیدن اینکه آیا سیستم به صورت خودکار نتایج را مادی‌سازی می‌کند یا نه، اهمیت زیادی در طراحی کوئری‌های بهینه دارد.

در نتیجه، آگاهی از نحوه عملکرد سیستم‌های مدیریت پایگاه داده در تائید و بهره‌برداری موثر از CTEها، کلید طلایی در بهبود عملکرد است. توسعه‌دهندگان پایگاه داده و افراد فعال در حوزه داده باید این نکات را در نظر داشته باشند تا کوئری‌هایی سریع‌تر و بهینه‌تر نوشته و اجرا کنند.

#پایگاه_داده #بهینه‌سازی_کوئری #CTE #مادی‌سازی

🟣لینک مقاله:
https://database-doctor.com/posts/tpch-q15?utm_source=tldrdata

➖➖➖➖➖➖➖➖
👑 @Database_Academy
Database-Doctor TPC-H Query 15 - Scalar Constants and Materialisation TPC-H Query 15 - Scalar Constants and MaterialisationToday's TPC-H query is the first one to use a clause. The same expression is used twice, and the query quietlytests for a simple, yet powerful, optimisation: materialisation.
More from @database_academy
  1. Oct 11, 2026🔵 عنوان مقاله Running Apache Cloudberry as Postgres Extensions 🟢 خلاصه مقاله: در این مطا…
  2. Oct 11, 2026🔵 عنوان مقاله 5 Jev use cases for analytics, with real queries and datasets (15 minute re…
  3. Oct 11, 2026🔵 عنوان مقاله Metrics Board: Building an Agent-ready Metrics Layer (10 minute read) 🟢 خل…
  4. Oct 11, 2026🔵 عنوان مقاله Query Plan Rewriting in Postgres 🟢 خلاصه مقاله: برنامه‌ریزی مجدد کوئری در…
  5. Oct 10, 2026🔵 عنوان مقاله Release of Polars 2.0 (5 minute read) 🟢 خلاصه مقاله: نسخه ۲.۰ پولارز، تحول…
  6. Oct 10, 2026🔵 عنوان مقاله I benchmarked "Jev-killer" OpenAI Decisions API against Jev (2 minute read)…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →