sql >> Database teknologi >  >> RDS >> Mysql

Hvordan implementerer man Materialized View med MySQL?

Jeg vedligeholder et projekt kaldet Flexviews (http://github.com/greenlion/swanhart-tools ) som føjer trinvist genopfriskende materialiserede visninger til MySQL (alias hurtig opdatering), selv for visninger, der bruger joinforbindelser og aggregering. Jeg har arbejdet på dette projekt i tre år. Det inkluderer et ændringsdatafangstværktøj til at læse databaselogfilerne. Der bruges ingen udløsere.

Det inkluderer to opdateringsmetoder. Den første ligner din metode, bortset fra at en ny version er bygget, og derefter bruges RENAME TABLE til at bytte den nye ud med den gamle. Visningen er på intet tidspunkt utilgængelig til forespørgsler, men 2x pladsen bruges i kort tid.

Den anden metode er ægte "hurtig opdatering", den har endda understøttelse af aggregering og joinforbindelser.

Der er et blogindlæg om det:http://www.mysqlperformanceblog.com/2011/04/04/flexviews-part-3-improving-query-performance-using-materialized-views/

Flexviews er betydeligt mere avanceret end FromDual-eksemplet, der refereres til af asander.



  1. postgresql selv deltage

  2. Oracle-valg af post med flere kolonnebetingelser

  3. Tjek hvor gammel en Oracle-database er?

  4. MySQL-struktur til oversættelser