![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie zapytanie:
Wykonuje mi się około 0,4s. Na co założyć index aby było szybsze? Explain: (IMG:http://img207.imageshack.us/img207/8841/image1mts.th.png) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
spróbuj p.idg
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Index zazwyczaj nakłada się na kolumnę, która jest bardzo często używana, a więc ta, która służy do łączenia z innymi, której używa się w warunku WHERE, GROUP BY lub HAVING czy też ORDER BY.
W tym wypadku najlepiej na p.idg oraz g.id |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A coś związane z MAX? Słyszałem, że index tutaj byłby szczególnie ważny, tylko jak to zrobić?
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jak już napisałem, Index zakłada się na te kolumny, których się często używa. Jeśli przewidujesz liczenie tego często, to załóż tez index na te pozycje, które obejmuje liczenie MAXem. W Twoim wypadku to p.id ale byloby nieco dziwne, gdybyś nie miał na tym już indexu PRIMARY od samego założenia bazy, bo w końcu na tej kolumnie często robi się WHERE.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:01 |