![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ ten temat umarł: http://forum.php.pl/index.php?showtopic=22...p;#entry1077833
Chciałbym go dokończyć tutaj. Znalazłem inne rozwiązanie (tak myślę), które nie potrzebuje ani crona ani kasowania danych itd. Struktura tabeli po prostu taka: adverts_views: view_id | advert_id | ip | date_format Teraz unikalny indeks na IP oraz date_format, gdzie date_format jest takiej postaci: 30-11-2013. W tym momencie do tabeli wlatują rekordy osób, które w danym dniu jeszcze nie widziały danej reklamy. Pytanie czy to dobre rozwiązanie oraz jaki typ pola dobrać do przechowywania daty w takiej postaci. Dodam, że taką formę daty tworzy się w ten sposób:
No i jeszcze zastanawiam się czy dodatkowo wykorzystać tutaj te cookies/sesje, aby zbednie nie wywalać co odświeżenie "insert into bla bla bla" - wiadomo, że jest indeks i nic nei wejdzie do tej tabeli, jesli mialby powstać jakis dubel, ale po co zbednie co chwile walić to zapytanie? Pozdrawiam! Ten post edytował Michael2318 30.11.2013, 13:37:32 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja bym mimo wszystko zrobił inaczej. Podoba mi się pomysł na osobną tabelę z archiwum i to na niej oparłbym statystyki. Ja widzę to tak:
Do tablicy adverts_views wrzucasz WSZYSTKIE wyświetlenia. Obojętnie czy ktoś ma być zliczony czy nie. Do tablicy adverts_views_archive wrzucasz codziennie po północy (cron) całą zawartość adverts_views, a adverts_views czyścisz. Nie musisz przy tej operacji sprawdzać żadnych dat ani nic - po prostu wychodzisz z założenia, że to, co jest w adverts_views na ten moment ma zostać przeniesione do archiwum i wszystkie blokady zostają zdjęte (bo każdy może np. mieć zliczony jeden głos na dany dzień). W swoim panelu do statystyk, wyniki są generowane na podstawie obu tabel, żebyś miał podgląd w czasie rzeczywistym. To będzie bardzo łatwe do osiągnięcia w MySQL dzięki operatorowi UNION. Uważam, że warto archiwizować wszystko, bo kiedyś mogą Ci się przydać do czegoś dane o nieunikalnych wyświetleniach - nigdy nie wiadomo. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 00:04 |