Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Implementacja bazy danych najczęściej oglądanych funkcji

mają następujące tabele :1. widoki2. views_hourly_summary3. views_daily_summary4. views_monthly_summary5. views_alltime_summary

uruchom zadanie cron w następujących odstępach czasu:

  1. uruchamiaj co godzinę i wstępnie agreguj widoki dla tej godziny z tabeli widoków i zapisz wstępnie zagregowany wynik w tabeli views_hourly_summary, a także zaktualizuj tabelę views_alltime_summary

  2. uruchom na koniec każdego dnia i wstępnie zagreguj widoki dla tego dnia z tabeli godzin i zapisz wstępnie zagregowany wynik w tabeli views_daily_summary

  3. uruchamiaj pod koniec każdego miesiąca i wstępnie agreguj widoki dla tego dnia z tabeli godzin i zapisz wstępnie zagregowany wynik w tabeli views_daily_summary

następnie podczas pobierania wyników będziesz musiał wykonać trochę matematyki w następujący sposób:

  1. Na przykład, jeśli chcesz pobrać widoki z ostatnich 4 godzin, pobierz dane za pełne 3 godziny z tabeli godzinowej, a pozostałe dane z tabeli widoków w następujący sposób:

    wybierz item_id, sum(views) jako viewsfrom views_hourly_summarygdzie godzina pomiędzy concat(left(now() - interwał 3 godziny, 14), '00:00') i concat(left(now(), 14), '00:00' )grupuj według identyfikatora elementu

    związek

    wybierz item_id, count(1) jako widokiz wyświetleńgdzie datetime pomiędzy (now() - interwał 4 godziny) a concat(left(now() - interwał 3 godziny, 14), '00:00')lub datetime> concat(left( now(), 14), '00:00')grupuj według identyfikatora elementu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalacze MySQL - PO WSTAWIENIU wyzwalacza + problem z UDF sys_exec()

  2. Sprawdzasz tabelę pod kątem nakładania się czasu?

  3. Leniwe pobieranie pojedynczej kolumny (atrybut klasy) z Hibernate

  4. Zdalne łączenie się z MySQL w maszynie wirtualnej Google Compute Engine

  5. BŁĄD 1356 (HY000):Widok 'mysql.user' odwołuje się do nieprawidłowych tabel lub kolumn lub funkcji lub definiującego/wywołującego widok nie ma uprawnień do ich używania