PDA

مشاهده نسخه کامل : در مورد کاهش فرگمنت در full text search



hoshang2
24-09-17, 01:17
با سلام و خسته نباشید خدمت شما
من یک جدول دارم که full text search را بر روی آن اعمال کردم حالا من کلی فایل با openrowset به فیلدی از نوع varbinary max اضافه کرده ام بعد که فرگمنت جدول رو نگاه می کنم می بینم که عدد 76 را نمایش می دهد که عدد بالایی هست و جدول بهینه نیست حالا می خواهم که جدول را بهینه کنم و فرگمنت آن را به حداقل ممکن برسانم باید چه کدهایی را اجرا بکنم تا فرگمنت کاهش پیدا کند.
البته من کد زیر را اجرا می کنم و فرگمنت صفر می شود ایا این کد مناسب هست یا کدهای دیگری هم در این زمینه وجود دارد اگر ممکن هست یک توضیحی بدهید.
آیا می شود یک جدول را که دارای full text search هست فرگمنت آن را کاهش داد منظور من این هست مثل کوئری زیر نام کاتالوگ را ندهیم نام جدول را بدهیم تا فرگمنت کاهش پیدا کند.

ALTER FULLTEXT CATALOG catalog_1 REORGANIZE;
تفاوت کوئری بالا با کوئری زیر در چیست؟

alter fulltext catalog catalog_1 rebuild
با تشکر از شما که راهنمایی می کنید

ravegoat
25-09-17, 18:19
با سلام،

بنده اطلاعات دقیقی در مورد پایگاه ندارم ولی براساس اون چیزی که مایکروسافت (Only the registered members can see the link) گفته، معیار قطعی برای تعیین تعداد فرگمنت های بهینه وجود نداره ولی براساس مقدار avg_fragmentation_in_percent میشه چنین نتیجه ای گرفت:
- اگر این مقدار کم تر از 5 درصد بود، نیازی به Reorganize یا Rebuild نیست.
- اگر این مقدار کم تر از 30 درصد بود، اجرای دستور Reorganize کافیه.
- اگر این مقدار بیش تر از 30 درصد بود، اجرای فرمان Rebuild لازمه.

در حالتی که شما از Full-text Indexing استفاده می فرمایید، مطابق این مرجع (Only the registered members can see the link) دستورالعمل بالا می تونه مفید باشه.

در مورد تفاوت دو دستور مذکور هم این پیوند (Only the registered members can see the link) را ملاحظه بفرمایید.

شاد و موفق باشید
آرمین

hoshang2
26-09-17, 01:04
با سلام و خسته نباشید
جناب آقای آرمین از بابت وقتی که گذاشتید ممنونم
با تشکر از شما