PDA

View Full Version : افزایش سرعت جستجو در دیتابیسهای بزرگ



دنیای دلفی
شنبه 20 فروردین 1384, 20:14 عصر
با سلام
بنده دارم روی یک پروژه کتابخانه کار می کنم این پروژه دارای دیتابیس تحت ویندوز با فاکس پرو می باشد من با استفاده از DBISAM دیتابیس اون را تبدیل کردم به DBISAM تعداد رکورد های دیتابیس 000/3000 عدد می باشد . وقتی روی مثلا فیلد شماره کتاب جستجو می کنم 2 دقیقه طول می کشد تا کتاب مربوطه را پیدا کند ولی وقتی از خود نرم افزار قبلی استفاده کنم سریع پیدا می شود آیا این برنامه از روش خاصی استفاده کرده است فیلد مذکور Index (Key) نیز می باشد .

آیا راهی وجود دارد که سرعت جستجو را افزایش دهم .


ممنون می شوم راهنمایی کنید .

:sunglass: :موفق: :flower:

علیرضا جاوید
شنبه 20 فروردین 1384, 22:52 عصر
:چه نوع جستجویی
احتمالا از lookup استفاده کردیدچون 3000000 که هیچی اگر 16000000000 باشه و ایندکس شده باشه با دست هم بخواهی پیدا کنی نیم دقیقه نمیشه!
:mrgreen:

دنیای دلفی
یک شنبه 21 فروردین 1384, 08:47 صبح
خیر از Locate استفاده کرده ام . :flower:

Delphi-Clinic
یک شنبه 21 فروردین 1384, 10:21 صبح
خیر از Locate استفاده کرده ام


:strange:


سلام
از ایندکس استفاده کن.

دنیای دلفی
یک شنبه 21 فروردین 1384, 14:47 عصر
سلام
از ایندکس استفاده کن.

یعنی به چه صورت از ایندکس استفاده کنم
فیلد مذکور خودش Primery Index می باشد اگر لطف کنید یک مثال کوچک بزنید .

:موفق:

ضمنا از Full Text Search درونی Dbisam نیز استفاده کردم زیاد تاثیری نکرد البته قبلش یک Full text index ساختم .

ممنون می شوم راهنمایی کنید .

:موفق:

Delphi-Clinic
یک شنبه 21 فروردین 1384, 15:00 عصر
سلام

ببین:

http://www.fulltextsearch.com/

V60
یک شنبه 21 فروردین 1384, 16:35 عصر
سلام من هم مشکل در سرعت کار با دیتابیس دارم
مشکل من از زمانی شروع می شه که رکورد ها از 18 هزار به بالا می رود در صورتیکه فکر نمی کنم که اکسس اینگونه اشکالی داشته باشد . ببخشید نگفتم بانکی که کار می کنم اکسس است :mrgreen:
حال می خواهم ببینم چه کار باید بکنم که فاصله 18 هزار تا 180 هزار را بدون تفاوت زیاد طی کنم
لطفا راهنمایی کنید
با تشکر

علیرضا جاوید
یک شنبه 21 فروردین 1384, 23:37 عصر
آقا از seek استفاده کن درست میشه!
وقتی از locate استفاده میکنی کلید بودن تاثیری نداره چون جستجو همچنان سکوانشیال باقی میمونه

دوشنبه 22 فروردین 1384, 11:38 صبح
اگه فیلدت ایندکس باشه مطمذن باش سریع باید پیدا کنه من روی بانکی با نزدیک 4 میلیون رکورد روی sqlserver امتحان کردم خیلی زود پیدا میکنه .
از دستور sql برا جستجو استفاده کن ( select ) ببین بازم مشکل داره یا نه ؟

:موفق:

دنیای دلفی
دوشنبه 22 فروردین 1384, 14:09 عصر
بابا دست Full Text Search درد نکنه واقعا مشکل من را حل کرد .
بین 5000000 رکورد رکورد مربوطه را ظرف 2 ثانیه پیدا می کنه .

دنیا فقط DBISAM
:موفق: :strange: :kaf: