khorsandreza
چهارشنبه 07 تیر 1391, 18:11 عصر
سلام بر همه دوستان
من یک مشکل در جستجو با Locate دارم باید عرض کنم می دانم روش درست استفاده از دستورات Query است ولی نسبت به نیماز در یک قسمت کار مجبورم جدول را که حدود 100000 رکورد هست Selcet کنم و با دستور Locate جستجو انجام بدم اولین جستجو زمانی زیادی طول می کشد حدود 12 الی 15 ثانیه ولی در جستجوهای بعدی زمان کمتر از ثانیه (حدود 14 میلی ثانیه) کارهائی که انجام دادم بشکل زیر است
1 - بر روی ستونی که باید جستجو انجام دهم اندیکس گذاشته شده
2 - دستور باز کردن نیز به این شکل است Select code From mytb order by code
که شکل کلی دستورات
MainQ.SQL.Clear;
MainQ.SQL.Add('SELECT CODE,CODM FROM MyTB Order By CODE);
MainQ.Open;
.
.
.
.
IF MainQ.Locate('CODE',CodeEdit.Text,[]) Then
Begin
.
.
.
.
End;
من یک مشکل در جستجو با Locate دارم باید عرض کنم می دانم روش درست استفاده از دستورات Query است ولی نسبت به نیماز در یک قسمت کار مجبورم جدول را که حدود 100000 رکورد هست Selcet کنم و با دستور Locate جستجو انجام بدم اولین جستجو زمانی زیادی طول می کشد حدود 12 الی 15 ثانیه ولی در جستجوهای بعدی زمان کمتر از ثانیه (حدود 14 میلی ثانیه) کارهائی که انجام دادم بشکل زیر است
1 - بر روی ستونی که باید جستجو انجام دهم اندیکس گذاشته شده
2 - دستور باز کردن نیز به این شکل است Select code From mytb order by code
که شکل کلی دستورات
MainQ.SQL.Clear;
MainQ.SQL.Add('SELECT CODE,CODM FROM MyTB Order By CODE);
MainQ.Open;
.
.
.
.
IF MainQ.Locate('CODE',CodeEdit.Text,[]) Then
Begin
.
.
.
.
End;