PDA

View Full Version : مشکل timeout در هنگام جستجو



hossein.e
سه شنبه 20 اسفند 1387, 08:20 صبح
با سلام
من می خوام یک جستجو در یک جدول مربوط به sql که بالای 4 میلیون رکورد داره انجام بدم
مشکل اینجاستکه در بعضی از جستجوهابا خطای timeout expierd روبهرومیشم.
لطفا راهنماییم کنید که چکارکنم که هم جستجو سریعتری داشته باشم و هم با این پیام روبه رو نشم.
با تشکر

sh2007
سه شنبه 20 اسفند 1387, 08:52 صبح
شما در هنگام جستجو فقط 100 يا 200 ركورد رو سلكت كن
SELECT Top 100 FROM Table WHERE Field = Parameter

hossein.e
سه شنبه 20 اسفند 1387, 08:59 صبح
بااین روش یعنی فقط 100 تای بالا رو جستجو میکنه؟

sh2007
سه شنبه 20 اسفند 1387, 09:03 صبح
سلام
آره مطمئن باش راحته مي توني خودت امتحان كني
حالا 100 يا 50 تا يا هرچي خودت تشخيص بدي نيازه مي توني اون عدد رو وارد كني

accpascal
سه شنبه 20 اسفند 1387, 22:27 عصر
بااین روش یعنی فقط 100 تای بالا رو جستجو میکنه؟
یک لوپ بنویس و در هر تکرار تعداد ی رکورد طبق دستوری که دوستمان دادند البته می توانی خیلی بیشتر از 100 یا 200 تا جستجو کنی نوع جستجو در ایجاد این خطا (البته این خطا نیست )موثر است
خاصیت تایم آوت را در دیتابس نیز می توانی اضافه کنی

Mbt925
چهارشنبه 21 اسفند 1387, 10:42 صبح
مي تونيد زمان TimeOut رو افزايش بديد.

(البته من به روش جستجوتون كاري ندارم. ميتونه مشكل از اون باشه)

آخر ConnetionString تون اين عبارت رو اضافه كنيد.



";connect timeout=60"

مهدي هراتي
پنج شنبه 22 اسفند 1387, 00:44 صبح
با سلام خدمت اساتيد

وقتي كاربر مي خواد بر اساس يك سري شرايط يك گزارش تهيه كنه، ما نمي دونيم چند ركورد از 4 ميليون ركورد موجود در جدول در نتيجه گزارش ظاهر خواهند شد كه بنويسيم top 100 يا هر چيزي از اين قبيل!

ممكنه افزايش زمان Timeout جواب بده ولي اين هم راه حل نهايي نيست چون با افزايش تعداد ركوردها در آينده باز هم اين مشكل بروز خواهد كرد.

من فكر مي كنم اگر دوستمون از ايندكس هاي مناسبي استفاده كنه مشكلش حل ميشه.

موفق باشيد