Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:14 18.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Търсене с TTable.locate  
АвторUchenika (Нерегистриран)
Публикувано09.09.04 09:09



Използвам за търсене в TTable следното:
TablIzs.Locate('DATEP;KODI;SEQN', VarArrayOf([DynDate,Kodiz, DynS]),[]))
Върви бавно. Две от полетата са ми индексни. Като сложа и третото да е индексно, бързодействието пада още.
Дайте идея за по-бърз механизъм на търсене.



Тема Re: Търсене с TTable.locateнови [re: Uchenika]  
Автор andrew_nikoloff (void)
Публикувано09.09.04 09:16



А каква ти е базата данни отдолу?
Ти имаш два (или три) отделни индекса, всеки от които е за една колона, така ли? Опитай вместо тях да сложиш един индекс, но по трите полета.
Другият вариант е да използваш TQuery вместо TTable и да си селектваш направо от базата търсените записи: select * from tablizs where datep = :datep and kodi = :kodi and seqn = :seqn...



Тема Re: Търсене с TTable.locateнови [re: andrew_nikoloff]  
АвторУчeниka (Нерегистриран)
Публикувано09.09.04 09:55



Използвам Pradox.
Опитах с TQuery и наистина хукна два пъти по-бързо. За индексиране едновременно с трите полета също го пробвах, но не даде задоволителен рзултат. Затова питам за нещо качествено различно, което може би изпускам.



Тема Re: Търсене с TTable.locateнови [re: Учeниka]  
Автор ess (мечтател)
Публикувано09.09.04 10:48



Като си направиш индекс по трите полета едновременно, ползвай IndexName & FindKey. Ето така:


Table1.IndexName := 'datep_kodi_seqn';
if Table1.FindKey([EncodeDate(2001,1,1), 'kod1', 1]) then begin
ShowMessage('Found!');
end;


---
...и аз пиша на кирилица!

Тема Най-бързо е с TQueryнови [re: ess]  
АвторУчeниka (Нерегистриран)
Публикувано10.09.04 13:31



Експериментирах с всички възможности.
Най-бързо е с TQuery.
По-бавно е с две независими индексни полета от трите, които използвам.
При три независими или трите обединени, скоростта на търсене е най-малка.



Тема Re: Най-бързо е с TQueryнови [re: Учeниka]  
Автор NDeu (динозавър)
Публикувано11.09.04 11:23



Търсене с Locate не е желателен за големи обеми защото фечва всички записи на датасета до намиране на търсения на клиента.

Редактирано от NDeu на 11.09.04 11:26.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.