مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

سرعت جستجو در بانک در سی شارپ

شنبه, 11 مرداد 1399 19:07

سرعت جستجو در بانک در سی شارپ

دوستان عزیز کسی میتونه کمک کنه 

من تو جعبه متن گزاشتم که اگه چیزی وارد کردی جستجو بشه و تو دیتا گرید ویو نشون بده 

تو خواصیت change text گزاشتم برا همین هر کاراکتری وارد میشه سرچ میکنه اینچوری یه خورده طوول میکشه مخصوصا کاراکتر های اولی که مجبوره تمام بانک رو جستجو کنه 

بچه ها راهی پیشنهاد کنن که برا زدن کاراکتر سیستم هنگ نکنه که جستجوش تموم شه 

پیشنهاد خودم اینه که بعد از زدن کاراکتر ها دوثانیه صبر کنه بعد بره برا جستجو اینجور دیگه میشه سریع بدون این که در زدن کاراکتر ها بیشتر از دوثانیه صبر کنی تمام کلید رو بزنی بعد از دو ثانیه که دیگه دست به کیبرد نزدی جستجو رو انجام بده اینجوری ایتم های کمی هم باید جستجو کنه چون مورد جستجو خواصتره ولی نمیدونم چطوری این رو پیاده سازی کنم 

البته اگه کسی پیشنهاد بهتری داره ممنون میشم بگه 

با تشکر از     جناب استاد مدائنی

یکشنبه, 12 مرداد 1399 10:07

سلام دوست عزیز

شما باید از الگوریتم های بهینه سازی استفاده کنی

راحت ترین کاری که می شه انجام داد اینه که

اطلاعات بانک رو بر اساس حروف الفبا مرتب کنی

بعد دیگه لازم نیست که با زدن یک حرف برنامه کل بانک رو بگرده

البته کد های جستجو رو هم یکم باید دست کاری کنی

نتیجه: بهینه سازی جستجو

کسانی که از این پست تشکر کرده اند : ehsanrastgoo,
یکشنبه, 12 مرداد 1399 13:58

خب جستجو که خودش انجام میده میخام که حر حرفی که زدم نره و چک کنه حد اقل به اندازه دوسه تا حرف وایسه ینی که صبر کنه که من دو سه تا کاراکتر حد اقل بزنم بعد بره و جستجو کنه یه جورایی ینی هر کاراکتر که میگیره یه دو ثانیه صبر کنه بعد روال change اجراع بشه تا تو اون دو ثانیه من شاید کاراکتر های بیشتری زدم و جستجو خاص تر و زمان جستجو کمتر شد

دوشنبه, 13 مرداد 1399 21:17

شما می تونی چند تا کار انجام بدی

یکی این که می تونی تو رویداد change شرط بزاری اگه تعداد کاراکتر بیشتر از 3 تا شد کد جستجو رو اعمال کنه 

یکی این که یه نوع داده bool تعریف کنی که اگه تو رویداد change مقداری وارد کرد تایمر  شروع به کار کنه و بعد از چند ثانیه  در صورتی که باکس خالی نبود جستجو انجام بشه

ولی روش اول بهتره روش دوم اصلا روش متعارفی نیست

ارسال پاسخ برای این تاپیک