FAQ | Points | Add... | Recent posts | Search | Register | Log in


sortowanie SQL, Delphi, problem z wydajnością


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> sortowanie SQL, Delphi, problem z wydajnością
Author
Message
lukzak2298
Poziom 16
Poziom 16


Joined: 03 Jan 2005
Posts: 325
Location: Katowice

Post#1 Post from the author of the topic 26 Mar 2007 10:56   

sortowanie SQL, Delphi, problem z wydajnością


Mam pewną bazę danych, ma ona ~0,5GB (DBF). Kiedy chce posortować całą (czytaj jakąś dużą odfiltrowaną część - nie wiem po co, ale tak ma być - więc tak jakby całą, no dobra nie istotne...) To strasznie długo mi to mieli zanim posortuje. używam podstawowych komponentów w delphi np TQuery itd...

Czy jest jakaś sztuczka magiczka na przyspieszenie sortowania tego?

Myślałem nad zmianą miejsca pliku tymczasowego, ale w kompie na którym to bedzie używane jest tylko 1 hdd, ramu jest też tylko 0,5 GB...

Może ja mam złe odejście do tego?

Wszelkie wskazówki mile widziane
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 26 Mar 2007 10:56   





Back to top
   
radziow
Poziom 13
Poziom 13


Joined: 02 Aug 2005
Posts: 116
Location: Kraków

Post#2 27 Mar 2007 08:29   

Re: sortowanie SQL, Delphi, problem z wydajnością


Sztuczek to nie ma za bardzo ale podstawowe zasady są.

Pliki dbf mają indexy cdx, ntx lub mdx (Borland obsługuje chyba tylko mdx jak się nie myle)jeśli masz index na polu który chesz posortować albo pole występuje w innym indexie jako pierwsze to posortowanie trwa ułamek sekundy. Najlepiej do tego celu wykorzystać TTable i ustawić index później odczyt to już prosta sprawa.
Index Na sortowanym polu to naprawdę znakomity sposób.
Back to top
   
Google

Google Adsense


Post# 27 Mar 2007 08:29   





Back to top
   
lukzak2298
Poziom 16
Poziom 16


Joined: 03 Jan 2005
Posts: 325
Location: Katowice

Post#3 Post from the author of the topic 27 Mar 2007 09:08   

Re: sortowanie SQL, Delphi, problem z wydajnością


ułamek sekundy? a o jakich bazach mowa? bo ułamek sekundy to mi się ładuje jak wytnę tą bazę do paru tycięcy wpisów, jak jest pełna (300 000 wpisów) to mieli i mieli...
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 27 Mar 2007 09:08   





Back to top
   
radziow
Poziom 13
Poziom 13


Joined: 02 Aug 2005
Posts: 116
Location: Kraków

Post#4 27 Mar 2007 10:49   

Re: sortowanie SQL, Delphi, problem z wydajnością


No jeśli używam indexów to otwarcie tabeli i odczyt trwa ułamek sekundy. TQuery to już inna bajka i do prostych odczytów nie stosuje wole indexy.

PS.
oczywiście jak podłączysz to do jakiegoś grida to to jeszcze dłużej trwa. Moja tabeleczka 600 MB ma 8109599 rekordów 8 milonów 110 tysięcy
Back to top
   
lukzak2298
Poziom 16
Poziom 16


Joined: 03 Jan 2005
Posts: 325
Location: Katowice

Post#5 Post from the author of the topic 27 Mar 2007 10:54   

Re: sortowanie SQL, Delphi, problem z wydajnością


No właśnie cały problem polega na tym że koleś chce żeby mu te dane się wyświetlały w gridzie, masz racje... przynajmniej na starcie mogę mu to załadować z normalnie i szybko...
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 27 Mar 2007 10:54   





Back to top
   
radziow
Poziom 13
Poziom 13


Joined: 02 Aug 2005
Posts: 116
Location: Kraków

Post#6 27 Mar 2007 11:55   

Re: sortowanie SQL, Delphi, problem z wydajnością


Reasumując:
1. Zrób index na sortowanym polu
2. Przejdź z Query na tabelke
3. Wykorzystaj inne komponenty do przeglądania danych.

Jeśli chodzi o pierwsze 2 to konieczność :) a ten 3 to nie jestem pewien ale wydaje mi się że DBGrid jak jest podłączona tabela nie zasysa wszysztkich rekordów (pasek przewijania zawsze na środku). Co prawda ja już nie korzystam z dbGrida - bo jest rewelacyjny TcxGrid z pakietu QuantumGrid Firmy DeveloperExpress, ale wydaje mi się że to powinno pomóc
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> sortowanie SQL, Delphi, problem z wydajnością
Page 1 of 1
Similar topics
Delphi - sortowanie/porównywanie polskich znaków (3)
Delphi - otwieranie kilku plików i sortowanie (2)
Delphi - Sortowanie Real - pomocy (3)
Delphi sortowanie pozycyjne (9)
Delphi - sortowanie liczb (7)
[SQL] Sortowanie wg kolumny typu char(20) (13)
[Delphi] problem z edycja DBEdita baza sql (1)
[delphi][SQL] wysyłanie grafiki do BLOB przez SQL (8)
Delphi sortowanie nie dziala gotowiec. (9)

Page generation time: 0.123 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed