Tutorial • SQL Analyse & Rapportering

Rapportering for webstatistics med daglige aggregater

Bygg daglige summer for sidevisninger, land, trafikkilder og crawlere.

// requirements
composer install
php artisan migrate
npm run build
Rapportering for webstatistics med daglige aggregater
Weboracle
27.04.202650 minNivå 7/10

Bygg daglige summer for sidevisninger, land, trafikkilder og crawlere.

Du trenger

MySQL 8.0+, MySQL Workbench, grunnleggende kjennskap til SELECT/INSERT/UPDATE

Rapportering for webstatistics med daglige aggregater

Bygg daglige summer for sidevisninger, land, trafikkilder og crawlere.

Hvorfor dette er viktig

SQL er ofte stedet der et CMS enten blir stabilt eller begynner å lekke ytelse og datakvalitet. Denne tutorialen viser et mønster som passer WEBoracle sin struktur med kategorier, tags, innhold og controlpanel.

Arbeidsflyt

  • Start med å forstå tabellen og indeksene før du skriver endelig spørring.
  • Bruk tydelige aliaser og målbare kriterier.
  • Test spørringen i MySQL Workbench før den flyttes inn i PHP.
  • Unngå sideeffekter i SELECT-spørringer og hold migreringer idempotente.

Eksempel

SELECT c.category_id, c.name, COUNT(t.tutorial_id) AS tutorials_count
FROM categories c
LEFT JOIN tutorials t ON t.category_id = c.category_id
WHERE c.category_type = 'tutorial'
GROUP BY c.category_id, c.name
ORDER BY c.sort_order, c.name;

Kontroll før produksjon

  • Er WHERE-delen selektiv nok?
  • Finnes riktige indekser?
  • Er spørringen trygg for tomme datasett?
  • Kan den kjøres flere ganger uten å lage duplikater?