PDA

View Full Version : مشکل در جستجو



کم حوصله
چهارشنبه 19 آذر 1382, 00:36 صبح
سلام
پایگاه داده من 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
چهارشنبه 19 آذر 1382, 13:07 عصر
بهتره اولا برای فیلدی که میخواهید جستجو رو انجام بدید ایندکس درست کنید و دوم از روش زیر استفاده کنید



private sub command1_click

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

End Sub

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

کم حوصله
چهارشنبه 19 آذر 1382, 22:48 عصر
1 روش ایندکس گذاری
2 روش فراخوانی ایندکس
3 روش جستجو با ایندکس
مرسی سریع فوری :mrgreen:

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

کم حوصله
پنج شنبه 20 آذر 1382, 17:55 عصر
بابا شرمنده سئوالم را یک جور دیگه مطرح می کنم
در sql چه جور میشه ایندکس ایجاد کرد
در vb6 با ado چگونه می توان ایندکس را فراخوانی کرد :wink: :mrgreen: