با سلام و خسته نباشید خدمت شما
من یک جدول دارم و full text search را بر روی آن اعمال کرده ام و یکسری فایل را درون فیلد varbinary max اضافه کرده ام فقط می خواهم حجم اطلاعاتی که Index شده است را بدست بیاورم آیا می شود که لحظه ای حجم اطلاعات index شده را به ما نمایش دهد اگر می توانید یک کد به من معرفی کنید؟
من کوئری زیر را اجرا می کنم اما لحظه ای به من حجم ایندکس ها را نمایش نمی دهد حتما باید یک فرگمنت اضافه بشود تا حجم ایندکس ها اضافه بشود چرا باید فرگمنت اضافه بشود تا حجم ایندکس ها را به ما نمایش بدهد چرا لحظه ای نمایش نمی دهد مثلا ما 100 رکورد اضافه کرده ایم اما هیچ رکوردی اضافه نمی شود پس نمی توانیم هم حجم اینکدس ها را داشته باشیم و هم نمی توانیم به صورت لحظه ای درصد فرگمنت هم داشته باشیم؟
ممنونم که راهنمایی می کنیدکد:WITH FragmentationDetails AS ( SELECT table_id, COUNT(*) AS FragmentsCount, CONVERT(DECIMAL(9,2), SUM(data_size/(1024.*1024.))) AS IndexSizeMb, CONVERT(DECIMAL(9,2), MAX(data_size/(1024.*1024.))) AS largest_fragment_mb FROM sys.fulltext_index_fragments GROUP BY table_id ) SELECT DB_NAME() AS DatabaseName, ftc.fulltext_catalog_id AS CatalogId, ftc.[name] AS CatalogName, fti.change_tracking_state AS ChangeTrackingState, fti.object_id AS BaseObjectId, QUOTENAME(OBJECT_SCHEMA_NAME(fti.object_id)) + '.' + QUOTENAME(OBJECT_NAME(fti.object_id)) AS BaseObjectName, f.IndexSizeMb AS IndexSizeMb, f.FragmentsCount AS FragmentsCount, f.largest_fragment_mb AS IndexLargestFragmentMb, f.IndexSizeMb - f.largest_fragment_mb AS IndexFragmentationSpaceMb, CASE WHEN f.IndexSizeMb = 0 THEN 0 ELSE 100.0 * (f.IndexSizeMb - f.largest_fragment_mb) / f.IndexSizeMb END AS IndexFragmentationPct FROM sys.fulltext_catalogs ftc JOIN sys.fulltext_indexes fti ON fti.fulltext_catalog_id = ftc.fulltext_catalog_id JOIN FragmentationDetails f ON f.table_id = fti.object_id ;
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks