دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
انواع Statistics در پایگاه داده اوراکل
1403/09/04 -
ساختار (Struct) در سی شارپ
1403/09/03 -
Enumeration در سی شارپ
1403/09/01 -
پارتیشن بندی در پایگاه داده اوراکل
1403/08/30 -
Delegates در سی شارپ
1403/08/29
انواع Statistics در پایگاه داده اوراکل
مفهوم Statistics در پایگاه داده اوراکل
در پایگاه داده اوراکل (Oracle Database)، Statistics به مجموعهای از دادههای تحلیلی گفته میشود که برای بهینهسازی عملکرد کوئریها و تصمیمگیری موتور پایگاه داده در اجرای بهتر آنها استفاده میشود.
این آمار شامل اطلاعاتی مانند تعداد ردیفها، تعداد بلوکها، میزان پراکندگی دادهها (Density)، اندازه جدولها، شاخصها، توزیع مقادیر ستونها (Histograms)، و مواردی مانند Selectivity و Cardinality است.
اوراکل از این آمار برای ایجاد Execution Plan بهینه استفاده میکند.
تنظیم و بروزرسانی صحیح Statistics با استفاده از ابزارهایی مانند DBMS_STATS یا دستور ANALYZE، نقش مهمی در بهبود عملکرد پایگاه داده دارد.
آمارها شامل اطلاعاتی از قبیل تعداد رکوردها، توزیع مقادیر در یک ستون و سایر جزئیات مرتبط با جداول و ایندکسها میشوند.
در این مقاله، به بررسی انواع آمار در پایگاه داده اوراکل، نحوه جمعآوری (Gathering)، حذف (Deleting) و انتقال (Transferring) آمار خواهیم پرداخت.
انواع آمار (Statistics) در پایگاه داده اوراکل
-
آمار سطح جدول (Table Statistics)
آمار سطح جدول شامل اطلاعات کلی درباره یک جدول، از جمله تعداد رکوردها، تعداد بلوکها، و میانگین اندازه رکوردها است.
این آمار به بهینهساز کمک میکند تا تخمین بزند که اجرای یک کوئری با استفاده از یک جدول خاص چقدر زمان و منابع نیاز دارد. -
آمار سطح ستون (Column Statistics)
آمار سطح ستون شامل اطلاعاتی درباره توزیع مقادیر در یک ستون خاص از جدول است.
این آمار شامل حداکثر و حداقل مقادیر، تعداد مقادیر منحصر به فرد و توزیع فرکانس مقادیر است.
بهینهساز میتواند از این اطلاعات برای تعیین بهترین راه اجرای کوئری استفاده کند. -
آمار ایندکس (Index Statistics)
آمار ایندکس اطلاعاتی درباره ایندکسها در پایگاه داده اوراکل ارائه میدهد.
این آمار شامل تعداد برگهای ایندکس، عمق ایندکس، و تعداد رکوردهایی است که ایندکس شامل میشود.
آمار ایندکس به بهینهساز کمک میکند تا تصمیم بگیرد که آیا باید از ایندکس برای جستجوی دادهها استفاده کند یا خیر. -
آمار کلیدهای اولیه و خارجی (Primary and Foreign Key Statistics)
این آمار شامل اطلاعاتی درباره کلیدهای اولیه و خارجی جداول است.
بهینهساز میتواند از این آمار برای درک روابط بین جداول استفاده کند و به این ترتیب بهتر بتواند از JOINها بهره ببرد. -
آمار توزیع (Histogram Statistics)
آمار توزیع شامل اطلاعات دقیقتری درباره توزیع مقادیر در یک ستون خاص است.
این نوع آمار به ویژه زمانی مفید است که یک ستون شامل مقادیر با توزیع نامتوازن باشد.
بهینهساز میتواند از این آمار برای بهبود تخمینهای خود در هنگام اجرای کوئریها استفاده کند.
Gathering آمار در پایگاه داده اوراکل
-
مفهوم Gathering آمار
Gathering آمار به فرایند جمعآوری و بهروزرسانی آمار مربوط به جداول و ایندکسهای پایگاه داده اوراکل اشاره دارد.
این فرایند به بهینهساز کمک میکند تا تصمیمات بهتری درباره اجرای کوئریها اتخاذ کند. -
روشهای Gathering آمار
-
Gather Statistics for a Table
برای جمعآوری آمار مربوط به یک جدول خاص، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.GATHER_TABLE_STATS('schema_name', 'table_name');
-
-
Gather Statistics for an Index
برای جمعآوری آمار مربوط به یک ایندکس خاص، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.GATHER_INDEX_STATS('schema_name', 'index_name');
-
-
Gather Statistics for All Tables
برای جمعآوری آمار برای تمامی جداول یک اسکیما، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.GATHER_SCHEMA_STATS('schema_name');
-
زمانبندی Gathering آمار
بهترین زمان برای جمعآوری آمار معمولاً پس از تغییرات بزرگ در دادهها، مانند بارگذاری دادههای جدید، حذف دادهها، یا بهروزرسانیها است.
همچنین، میتوان این کار را به صورت دورهای و با برنامهریزی انجام داد تا آمار همیشه بهروز باشد.
Deleting آمار در پایگاه داده اوراکل
-
مفهوم Deleting آمار
حذف آمار به فرایند حذف اطلاعات مربوط به آمار جداول، ایندکسها و سایر اشیاء پایگاه داده اشاره دارد.
این کار میتواند به دلایل مختلفی انجام شود، از جمله بهروزرسانی آمار با دادههای جدید یا اصلاح مشکلات مربوط به آمار نامناسب. -
روشهای Deleting آمار
-
Delete Statistics for a Table
برای حذف آمار مربوط به یک جدول خاص، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.DELETE_TABLE_STATS('schema_name', 'table_name');
-
-
Delete Statistics for an Index
برای حذف آمار مربوط به یک ایندکس خاص، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.DELETE_INDEX_STATS('schema_name', 'index_name');
-
-
Delete Statistics for All Tables
برای حذف آمار برای تمامی جداول یک اسکیما، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.DELETE_SCHEMA_STATS('schema_name');
-
مزایای Deleting آمار
حذف آمار نامناسب یا قدیمی میتواند به بهینهساز کمک کند تا تصمیمات بهتری درباره اجرای کوئریها اتخاذ کند.
در صورتی که آمارها نادرست یا نامتناسب باشند، ممکن است بهینهساز تصمیمات نادرستی بگیرد که میتواند عملکرد سیستم را تحت تأثیر قرار دهد.
Transferring آمار در پایگاه داده اوراکل
-
مفهوم Transferring آمار
انتقال آمار به فرایند کپی کردن آمار از یک جدول یا ایندکس به دیگری اشاره دارد. این کار معمولاً زمانی انجام میشود که یک جدول یا ایندکس جدید ایجاد شده و نیاز به آمار مشابهی با یک جدول یا ایندکس دیگر دارد. -
روشهای Transferring آمار
-
Transfer Statistics from One Table to Another
برای انتقال آمار از یک جدول به جدول دیگر، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.SET_TABLE_STATS('schema_name', 'target_table', DBMS_STATS.GET_TABLE_STATS('schema_name', 'source_table'));
-
-
Transfer Statistics from One Index to Another
برای انتقال آمار از یک ایندکس به ایندکس دیگر، میتوان از دستور زیر استفاده کرد:
-
EXEC DBMS_STATS.SET_INDEX_STATS('schema_name', 'target_index', DBMS_STATS.GET_INDEX_STATS('schema_name', 'source_index'));
-
مزایای Transferring آمار
انتقال آمار میتواند به کاهش زمان مورد نیاز برای جمعآوری آمار جدید کمک کند و به بهینهساز اجازه دهد تا به سرعت از اطلاعات موجود استفاده کند.
این کار میتواند به ویژه در محیطهای تولید که زمان حیاتی است، بسیار مفید باشد.
دوره های مرتبط
اموزش پایگاه داده اوراکل Oracle
در دوره آموزش پایگاه داده اوراکل اصول ، مفاهیم ، طراحی ، پیادهسازی و مدیریت پایگاه داده را به صورت جامع آموزش می دهیم .