Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Limit i różnice w czasie wykonania zapytania
snemeii
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 10.05.2012

Ostrzeżenie: (0%)
-----


Witam wszystkich,

Zwracam się o pomoc... odnośnie mojego problemu.

Mam 3 tabele:

TAB1 - okoł 14tyś wierszy
TAB2 - około 600tyś wierszy
TAB3 - około 3tyś wierszy

wszystkie tabele są ze sobą w relacji i teraz....

Jeżeli wykonuję:
  1. SELECT TAB1.*
  2. FROM TAB1 t1
  3. INNER JOIN TAB2 ON ....
  4. INNER JOIN TAB3 ON ....
  5. LIMIT 122


to czas wykonania mam ~ 78ms

natomiast jak limit zmienie na LIMIT 123 to już czas wykonania idzie pod 20s.

Z ciekawości usunąłem z TAB1 kilka pierwszych wierszy by zobaczyć czy coś się zmienia, ale nie dla LIMIT 122 mam ~78ms, a dla LIMIT 123 mam 20s.

Czy mogę jakoś MySQL przyspieszyć, o co może chodzić...

MySQLa mam w wersji: Wersja serwera: 5.5.17

Pzdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
snemeii
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 10.05.2012

Ostrzeżenie: (0%)
-----


Panowie mam przyczynę problemu... człowiek się uczy całe życie...

Tak jak pisałem, mam tabele:

TAB1 - okoł 14tyś wierszy
TAB2 - około 600tyś wierszy
TAB3 - około 3tyś wierszy

są to tabele, których zawartość zaimportowana jest z DBFów. W tych DBFach był na tyle duży bałagan, że powiązania ktoś do innych tabel porobił po dwóch kolumnach typu VARCHAR. Czyli TAB1 "relacjonował" do TAB2 po dwóch kolumnach VARCHAR i TAB1 "relacjonował" do TAB3 po dwóch kolumnach VARCHAR.

Po zrobieniu importu tych calych danych z DBFow, w każdej z tabel utworzyłem sobie na początku kolumnę z INDEKSEM (AUTO_INCREMENT), jednak nie miało to z niczym powiązania dlatego złączenia musiałem robić po tych VARCHARACH i tu był problem tego długiego wykonywania zapytania...

Nie zważając na długość wykonywania skryptu, puściłem go i wykonywał sie on całą nockę... (IMG:style_emoticons/default/smile.gif)

Treaz mam tabelę TAB4, która posiada dane z tabeli TAB1 ale co najważniejsze posiada powiązania po INDEKSACH do tabel TAB2 i TAB3. Wykonując teraz SELECT na 14tyś wierszach z tabeli TAB4 z powiązaniem po INDEKSACH do TAB2 i TAB3 wynik całościowy otrzymuję w 80ms.

Go to the top of the page
+Quote Post
uupah5
post
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 4.09.2010
Skąd: warszawa

Ostrzeżenie: (0%)
-----


cytując klasyk "ja tu widzę niezły burdel" (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 09:13