![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 31.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jest takie zapytanie które trwa 15 sek (wariant z "ORDER BY tab1.id"), jak zamienię zapytanie aby sortowało się wg. tab2.id to trwa ono 6 sek (wariant z "ORDER BY tab2.id").
Po ustawiałem wszystkie indeksy: tab2 (id,type,del,version) tab1(id). Niestety muszę korzystać z "ORDER BY tab1.id" Choć tab1.id=tab2.id.
Ten post edytował someone.cool 30.10.2009, 22:39:31 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A jakie indeksy Waść posiada?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 31.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
ustawiam indeksy zawsze tam gdzie używam tabeli w WHERE...
Po ustawiałem indeksy: tab2 (id,type,del,version) tab1(id) . edit: może pytaniem powinno być - czy index na tabeli `tab2` ma być jeden, czy 3 osobne? Ten post edytował someone.cool 2.11.2009, 13:14:55 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 7.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Polecałbym stworzyć więcej dodatkowych pól w tabeli, jeśli to możliwie i pozbyć się left join, bardzo wolna rzecz.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 31.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wracamy do tematu. Tab1 jest tu najważniejsza - jest to rejestr rekordów (np. kolumna13 - czy usunięty?, kolumna_5 - typ dokumentu, kolumna_11 - firma).
Tab2 to już właściwa tabela dokumentu. tab1 ma 150 000 rekordów. Z order by potrafi sie wykonywać czasami AŻ 2,5 minuty, a bez tego 0,015 sek (IMG:style_emoticons/default/smile.gif)
Ten post edytował someone.cool 19.11.2009, 12:08:20 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
a co pokazuje magiczne explain?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 31.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie za bardzo umiem odczytać co tam jest napisane.
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 31.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 22.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
To ja ze swojej strony zapytam się z jakiego ENGINE korzystasz w przypadku tych tabel ? I czy wszystkie te tabele które JOINujesz mają ten samy typ.
Dodatkowo mógłbyś pokazać na których kolumnach masz indexy pozakładane. Zbyt duża ilość indexów też może sprawiać problemy. Dorzuć to co zwraca EXPLAIN + dla każdej to może pomożemy konkretniej. Teraz to są zgadywanki i strzały w ciemno |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 12:06 |