![]() |
![]() |
![]()
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%) ![]() ![]() |
Wyciągasz wszystkie id z news, które spełniają warunek głównego zapytania,
brak pokrycia niczemu nie szkodzi, jeśli nie chcesz wyświetlać news bez pokrcia, sprawdzasz w pętli (czyli złożoność obliczeniowa liniowa)
i tu na przykład widać dlaczego indeksami tablic podrzędnych są id z głownej elementów tabeli (bezpośrednio się odwołujemy) PS. Swoją drogą nie warto tworzyć aż tylu powiązanych tabel, np. wstawianie tekstu newsa do innej tabeli zamiast dać w tej samej Ten post edytował php programmer 21.12.2007, 08:46:02 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 06:49 |