Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #15308
| Newsgroups | pl.comp.lang.php |
|---|---|
| Date | 2017-01-20 23:30 -0800 |
| References | <o5qse2$jes$1@node2.news.atman.pl> <o5raq9$42h$1@usenet.news.interia.pl> <o5td6b$vp0$2@node1.news.atman.pl> |
| Message-ID | <8e09f7fd-d703-41cd-ad76-e3f9088dcb6a@googlegroups.com> (permalink) |
| Subject | Re: zawijanie logów |
| From | Rafal Podsiadly <spinacz24@gmail.com> |
Trochę teorii. 1. Zbierając logi w jednej tabeli dochodzisz do pewnego ograniczenia. (Jedna tabela jest jednym plikiem w systemie bazodanowym). Z czasem pojawia się problem miejsca i szybkość z jaką otwiera system bazodanywy pliki. Pytanie do ilu rekordów maksymalnie jesteś w stanie sobie pozwolić. 100 rekordów to znacznie za mało by mieć dobrą analizę błędów logów. Możesz taką ilość osiągnąć w kilka sekund. PS: Dopiero fragmentacja tabeli powoduje fizyczne usunięcie z niej miejsca. Wyjściem z rozwiązania jest budowanie Tabel które przechowują archiwum w okresach miesięcznych. arch_xxxx_xx usuwanie danych ograniczało by się do usunięciu tabeli. Rozpiszmy to na zbiory danych 1. jedna tabela -> dane_insert(id, data, dane) - odpalamy crone który cyklicznie uruchamiamy 1 dziennie. Sprawdza ilość rekordów usuń wszystko z warunkiem id < (count(archiwum) - 100) - (max_id) Trochę kombinowania... PS: dellete wykonuje następujące operacje. Odszukuje rekord o danym id następnie sprawdza czy rekord jest używany, zablokowany i dokonuje próbę zmiany statusu rekordu na usunięty aby można było w przyszłości przy fragmentacji zwolnić miejsce. Efekt dość spora ilość operacji wykonywana przez silnik bazy danych. 2. Rozwiązanie (tabela archiwum odpowiadająca archiwum) Odczyt danych przez widok, zapisywanie danych przez procedurę. Usuwanie danych przez trunce -> delette table. Na przykład zamiast przechowywać dane rekordy w ilości 100. Przechowujemy x miesięcy. Efekt usuwanie szybsze. Mniejsze tabele zapewniają lepszą elastyczność systemu. PS: jeśli danych masz mało to można rozdzielić to na lata.
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
zawijanie logów niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-01-19 18:18 +0100
Re: zawijanie logów niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-01-19 18:20 +0100
Re: zawijanie logów "Stokrotka" <ortografia.nowa@gazeta.pl> - 2017-01-19 18:37 +0100
Re: zawijanie logów niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-01-19 19:02 +0100
Re: zawijanie logów "Darek" <darekpn2@wp.pl> - 2017-01-19 20:15 +0100
Re: zawijanie logów Adam <a.g@poczta.onet.pl> - 2017-01-19 22:24 +0100
Re: zawijanie logów niepełnosprawny intelektualnie 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-01-20 17:17 +0100
Re: zawijanie logów Rafal Podsiadly <spinacz24@gmail.com> - 2017-01-20 23:30 -0800
Re: zawijanie logów Borys Pogoreło <borys@pl.edu.leszno> - 2017-01-21 11:29 +0100
Re: zawijanie logów Rafal Podsiadly <spinacz24@gmail.com> - 2017-01-21 04:13 -0800
Re: zawijanie logów w systemie siła 'PO/EU <NOSPAMtestowanije@go2.pl> - 2017-01-21 16:05 +0100
Re: zawijanie logów Roman Tyczka <noemail@because.no> - 2017-01-21 23:47 +0100
Re: zawijanie logów Borys Pogoreło <borys@pl.edu.leszno> - 2017-01-22 21:34 +0100
Re: zawijanie logów Borys Pogoreło <borys@pl.edu.leszno> - 2017-01-22 21:34 +0100
Re: zawijanie logów "Darek" <darekpn2@wp.pl> - 2017-01-21 19:17 +0100
Re: zawijanie logów w systemie siła 'PO/EU <NOSPAMtestowanije@go2.pl> - 2017-01-21 19:21 +0100
Re: zawijanie logów Rafal Podsiadly <spinacz24@gmail.com> - 2017-01-22 09:27 -0800
csiph-web