sql >> Database >  >> RDS >> Mysql

Voorkeursmethode voor gematerialiseerde weergaven (overzichtstabellen) met MySQL

Flexviews (http://flexvie.ws) is een op open source PHP/MySQL gebaseerd project. Flexviews voegt stapsgewijs vernieuwbare gematerialiseerde views (zoals de gematerialiseerde views in Oracle) toe aan MySQL, gebruikmakend van PHP en opgeslagen procedures.

Het bevat FlexCDC, een op PHP gebaseerd hulpprogramma voor het vastleggen van wijzigingsgegevens dat binaire logboeken leest, en de opgeslagen procedures van Flexviews MySQL die worden gebruikt om de weergaven te definiëren en te onderhouden.

Flexviews ondersteunt joins (alleen inner join) en aggregatie, zodat het kan worden gebruikt om samenvattende tabellen te maken. Bovendien kunt u Flexviews gebruiken in combinatie met Mondriaan's (een ROLAP-server) aggregation designer om samenvattende tabellen te maken die de ROLAP-tool automatisch kan gebruiken.

Als je geen toegang hebt tot de logs (hij kan ze op afstand lezen, btw, dus je hebt geen servertoegang nodig, maar je hebt wel SUPER privileges) dan kun je 'COMPLETE' refresh gebruiken met Flexviews. Dit automatiseert het aanmaken van een nieuwe tabel met 'CREATE TABLE ... AS SELECT' onder een nieuwe tabelnaam. Het gebruikt dan RENAME TABLE om de nieuwe tabel te ruilen voor de ene, waarbij de oude wordt hernoemd met een _old postfix. Eindelijk laat het de oude tafel vallen. Het voordeel hiervan is dat de SQL om de weergave te maken wordt opgeslagen in de database (flexviews.mview) en kan worden vernieuwd met een eenvoudige API-aanroep die het swapproces automatiseert.



  1. Hoe maak je gematerialiseerde weergaven in SQL Server?

  2. Snel vergelijkbare strings vinden met PostgreSQL

  3. Wat is het MySQL-equivalent van STUFF() in SQL Server?

  4. Zijn er goede redenen die ik niet zou moeten gebruiken - (streepje) in veldnamen in MySQL?