![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
Jak w temacie. Mam zapytanie:
i wykonuje się ono w granicach 20 sekund co jest nie do przyjęcia. W tabelach news i newstext znajduje się po około 80 tysięcy rekordów w tabeli photo jest około 40 tysięcy wpisów tabela news2photo to około 50 tysięcy rekordów. Pytanie co zrobić żeby przyspieszyć to zapytanie do jakiegoś znośnego czasu? Ten post edytował devnul 3.05.2008, 15:54:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Wywal wszystkie JOINY,
zamiast tego zrób na początku jedno zapytanie odpowiadające głownemu zapytaniu ale pobierające tylko id z głównej tabeli id zbierasz w jakiejś tabeli php-owej potem robisz osobna zapytanie dla zapytania głównego oraz osobne zapytanie odpowiadające kazdemu JOIN gdzie warunkiem jest id nalezace to tych zebranych w tapeli php-owej Wyniki kazdego JOINA zapisujesz w tablicy php-owej (oczywiście innej niż ta wyżej, osobna taliba dla kazdego JOIN), ale w taki sposób, że indeksami są id table głównej, dzięki czemu można się potem bezpośrednio odwoływać do danych JOIN-owych niedawno zastowowałem tego typu rozwiązanie i bardzo pomogło w beznadziejnej wydawałoby się sytuacji, bo danych było tyle, że nawet jednego JOINa nie można było dodać Ten post edytował php programmer 21.12.2007, 08:42:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 00:07 |