Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja tabeli, zapytania do tabeli z rekordami 560000
yaaa
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.10.2005

Ostrzeżenie: (0%)
-----


Witam wszystkich,

Troszke pogrzebałem po formu ale nie znalazłem nic ciekawego w tym temacie (z góry proszę jak ktoś znalazł coś podobnego p podanie linka).
Mój problem jest taki: pracuję od niedawna dla pewnej firmy, która prowadzi portal i wszystko by było ładnie gdyby nie jedna rzecz. Wszelkie dane z portalu są logowane do jednej tabeli ma on już 560 tyś rekordów (ciągle rośnie) i na niej oparte są wszelkie statystyki, które codzeinnie czyta mój szef. Szef musi mieć wszystko na wczoraj wiec jak wykonanie pewnego zapytania trwa np 40 sek i jeszcze przekroczy ttl przeglądarki i nic mu nie wyświetli to się denerwuje.
Ja mam pomysł żeby rozbić to wszysko na lata tzn. log_2004, log_2005, log_2006 itd.
wtedy tabele były by dużo mniejsze i zapytania dla poszczególnych lat trwały by krócej tylko, że zapytanie o wszystkie lata znów by było strasznie długie
Oto struktura tabeli:
  1. CREATE TABLE `wyn_log` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  4. `addr` varchar(15) NOT NULL DEFAULT '',
  5. `session_nr` int(11) NOT NULL DEFAULT '0',
  6. `partner` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  7. `user_id` int(11) NOT NULL DEFAULT '0',
  8. `fv` varchar(5) NOT NULL DEFAULT '',
  9. `page` varchar(50) NOT NULL DEFAULT '',
  10. `description` text NOT NULL,
  11. PRIMARY KEY (`id`),
  12. KEY `session_nr_idx` (`session_nr`),
  13. KEY `description` (`description`(255)),
  14. KEY `page_idx` (`page`),
  15. KEY `date_idx` (`date`),
  16. KEY `description_idx` (`description`(255))
  17. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COMMENT='do logowania najwazniejszych zdarzen w systemie' AUTO_INCREMENT=5057416 ;


Z góry dzięki za każdy pomysł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yaaa
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.10.2005

Ostrzeżenie: (0%)
-----


Cytat(FiDO @ 2006-01-10 10:30:11)
To w koncu jedno zapytanie wykonuje sie ~40 sekund czy caly zestaw zapytan generujacych statystyki ? Jesli to pierwsze to raczej jest wina tego konkretnego zapytania.. ale mam przeczucie, ze chodzi o to drugie, zatem na jedno zapytanie przypada juz ulamek sekundy, co jest sensowna wartoscia.

Statystyk jest bardzo dużo i są przeróżne większość z nich składa się z wielu zapytań i rzeczywiście niektóre zapytania są bardzo szybkie, ułamek sekundy niektóre długie.
Ale system cache'owania wydaje mi się bardzo sensownym rozwiązanie gdyż większość z tych statystyk nie jest mu potrzebna na żywo.
To teraz prośba jeżeli już tworzyliście taki system cache'owania to możecie podać mi jego założenie, jak to wygląda?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 17:48