View Full Version : استفاده از ایندکس
rostamedastan
پنج شنبه 06 بهمن 1384, 16:40 عصر
بسم الله الرحمن الرحیم
سلام علیکم :
آیا برای تمامی جست و جوهایی که در برنامه دارم باید ابتدا در پایگاه داده خود که در اس کیو ال سرور قرار دارد ایندکس های آن ها را ایجاد کنم ویا اینکه در هر بار جست و جو از طریق کد آنها را ایجاد و در پایان جست و جو آنها را از بین ببرم ؟
jirjirakk
جمعه 07 بهمن 1384, 06:51 صبح
واسه ساختن ایندکس
فیلد هایی رو ایندکس کن که بیشترین جستجو رو روشون قراره انجام بشه نه همشون رو
مثلا اگه جدولت یک جدول پرسنلی باشه اکثر جستجو ها یا به روی شماره شناسنامه، نام، نام خانوادگی کد ملی یا شماره پرسنلی و جنسیت هستش
و این کلا به جدول و نحوه استفاده ای که میخوای ازش بکنی داره
Naficy
جمعه 07 بهمن 1384, 11:00 صبح
در جواب به سوال اصلی شما: شما باید تنها یکبار ایندکسها را ایجاد کنید. ایجاد ایندکس قبل از جستجو و از بین بردن آن بلافاصله از پایان اصلا کار عاقلانه ای نیست و نه تنها "هیچ" سودی ندارد، بلکه یک سربار بیهوده ایجاد می کند.
ساخت ایندکس های "مفید" (بخصوص در sqlserver) کاری است حرفه ای. نباید تصور داشته باشید که همینطوری ساختن یک ایندکس سرعت جستجو را بالا می برد؛ بلکه در شرایط بسیار خاصی این کار باید انجام شود که شناخت آن مستلزم اطلاعات نسبتا دقیقی از نحوه کار بانک اطلاعاتی است. وگرنه ساخت ایندکس بدون داشتن علم کافی، نه تنها سرعت را بالا نمی برد، بلکه برای عملیات درج و حذف در جدول سربار فوق العاده ایجاد می کند.
برای مثال، ساخت ایندکس روی فیلدی مانند جنسیت که تنها چند مقدار محدود متفاوت (زن یا مرد) دارد، به هیچ عنوان (موکدا به هیچ عنوان) کارایی را افزایش نمی دهد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.