![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.06.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Mam 2 tabele: 'informacje' i 'woj', w ktorych przechowuję informacje dotyczące danych województw.
W 'informacje' uzbierało się już ponad 50000 rekordów i niestety całość trochę zaczyna mulić. struktura 'informacje': id int(10) UNSIGNED tytul text tresc text woj tinyint(3) miasto varchar(255) data_wprowadzenia date termin_waznosci datetime indeksy: id (UNIQUE), data_wprowadzenia, woj, termin_waznosci (INDEX) struktura 'woj': id tinyint(3) nazwa varchar(255) indeks: id (UNIQUE) Dane pobieram zapytaniem:
czasem wykonanie zapytania trwa nawet 30-40 sekund (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Jak takie coś przyspieszyć żeby mogło funkcjonować w warunkach strony www - wiadomo, musi się jakoś rozsądnie wczytywać. P.S. Przy wykonywaniu bardziej skomplikowanych zapytań (gdzie dochodzą jeszcze np. kategorie informacji, daty, terminy, dających mniej rekordów w odpowiedzi, wczytuje się dużo szybciej) P.P.S.: ... a wogóle jak dużo rekordów pomieśli tabela MySQLa, bo może jestem przy wartości granicznej czy co...:/ ? pozdro Alek |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Masz kilka bledow w struktorze tabeli:
1. Id musi byc primary a nie unique 2. Podobna sprawa z tabela woj 3. Zrob to na relacjach @TomASS Cytat Możesz pomyśleć o cachowaniu danych. Po co? @orson Cytat przesortuj dane (ALTER TABLE `informacje` ORDER BY `woj`) Jest zalozony indeks, wiec operacja ta jest zbedna I podobnie twierdze jak @orson Explain i wszystko bedzie jasne. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 13:57 |