![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%)
|
mam tabele w bazie i w niej 5,5mln wpisow i dziwi mnie ze wyszukanie (ponizej szczegoly)
z zastosowaniem limitu jest tak znaczaco dluzsze
trwa 0,045 sekundy a wersja
trwa juz ponad 15sek. a to juz kosmos w sumie index ma sile 19 bo tylko tyle krajow jest w tej kolumnie czy to normalne jest czy ja mam jakis dziwny problem Ten post edytował aladin07 6.07.2009, 14:41:30 |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
A daj explain i pokaż, co zwraca.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%)
|
Query explain select distinct country from kolumna limit 10, Tue Jul 07 09:12:47 2009
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE kolumna index country 138 3179 Using index; Using temporary Query explain select distinct country from kolumna, Tue Jul 07 09:14:23 2009 id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE kolumna range country 138 3179 Using index for group-by |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat 1 SIMPLE kolumna index country 138 3179 Using index; Using temporary Cytat 1 SIMPLE kolumna range country 138 3179 Using index for group-by Wyciąganie do tabeli tymczasowej zawsze będzie wolniejsze. A które zapytania "wyjaśniałeś"? |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%)
|
no to jest wyjasnienie jednego i drugiego - zalaczylem caly kod
w takim razie jak sie pozbyc tej tymczasowej tabeli? |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%)
|
mysle ze to nie kwestia zapytania, ale juz wydajnosci bazy (mysql? ) przy takiej ilosci warto by bylo pomyslec o postgres ?
na dobra sprawe zapytanie ma co przemielic.... wyszukaj unikaty z 5,5mln... mozna by bylo pomyslec o normalizacji bazy, tak do 3 postaci (min 2), wywal wszystkie atomowe wartosci do zewn tabeli... powinno pomoc.. wtedy do zliczenia krajow wystarczy ci zliczyc rec w jednej tabeli..... hmmm choc na dobra sprawe, dlaczego po dolozeniu limitu az tak zwiekszyl sie czas przetwazania - nie wiem, sprawdz obciazenie serwera, (SHOW PROCESSLIST) Ten post edytował alegorn 8.07.2009, 08:57:47 |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat mysle ze to nie kwestia zapytania, ale juz wydajnosci bazy (mysql? ) przy takiej ilosci warto by bylo pomyslec o postgres ? Z tego, co czytałem, to w kwestii wydajności właśnie przoduje MySQL. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Zdałaby się struktura tabel. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%)
|
Z tego, co czytałem, to w kwestii wydajności właśnie przoduje MySQL. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) mysle ze to tak naprawde kwestia konfiguracji, ale mimo wszystko chyba warto by bylo odswiezyc wiedze (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) postgres vs mysql 1 postgres vs mysql 2 wyniki nie sa jednoznaczne w wszystkich zapytaniach - ale tendencja jest chyba odwrotna niz piszesz... Zdałaby się struktura tabel. tutaj zgadzam sie calkowicie :] Ten post edytował alegorn 8.07.2009, 12:55:53 |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat mysle ze to tak naprawde kwestia konfiguracji, ale mimo wszystko chyba warto by bylo odswiezyc wiedze A to mnie zaskoczyłeś. [; |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 16:59 |