# Native Code > برنامه نویسی در 6 VB > مطالب مرتبط با بانکهای اطلاعاتی در VB6 >  مشکل در جستجو

## کم حوصله

سلام
پایگاه داده من SQL  است و از ADO و ODBC  برای ارتباطات استفاده میکنم
حال با بالا رفتن رکورد هایم سرعت جستجو من به طور قابل توجهی کاهش یافته روش پیشنهادی شما چیست ؟

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

private sub form_load
ado1.open " select * from tbl1"
end sub

private sub command1_click
ado1.requery
ado1.movefirst
ado1.find "f1='1'"
end sub

این به طور تقریب الگوریتم کار من است آیا روش بهتری جهت بازیابی سرعت جستجو سراغ دارید ؟؟؟

----------


## S.Azish

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


private sub command1_click 

If ado1.Status = adStatusOpen Then ado1.Close
ado1.open "select * from tbl1 where f1='1'"

End Sub

----------


## ساران سافت

این چیزی که آقای آذیش گفتن بهتره من امتحان کردم.
بعد اینکه اگر ایندکس رو فیلد بزنی توی سرعت خیلی تاثیر می گذارد :wink:

----------


## کم حوصله

1 روش ایندکس گذاری
2 روش فراخوانی ایندکس
3 روش جستجو با ایندکس
مرسی سریع فوری  :mrgreen:

----------


## ساران سافت

ببین ایندکس خیلی راحت با access یا vis data در قسمت design می توانی روی هر فیلدی ایجاد کنی. :roll: 
البته معمولا فقط روی فیلد کلیدی ایندکس اصلی می سازند و روی بقیه ایندکس فرعی. :lol: 
عموما سعی کن روی آن فیلدی که جستجو می کنی اندکس بسازی. 8) 
بعد تا آنجا که من می دانم وقتی جستجو روی آن فیلد را با دستورهای sql انجام میدهی ایندکس اتوماتیک استفاده می شود.
در واقع ایندکس یک جدول مکانی رکوردها بر اساس آن فیلد مورد نظر می باشد.(در رشته کامپیوتر درس ذخیره و بازیابی اطلاعات کامل در این مورد بحث شده :wink: )

----------


## کم حوصله

بابا شرمنده سئوالم را یک جور دیگه مطرح می کنم
در sql  چه جور میشه ایندکس ایجاد کرد
در vb6 با ado چگونه می توان ایندکس را فراخوانی کرد  :wink:  :mrgreen:

----------

