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

Er MySql Views dynamiske og effektive?

Grundlæggende er der grundlæggende 2 typer af visninger i MySQL.

  1. Flet visninger

    Denne type visning omskriver stort set bare dine forespørgsler med visningens SQL. Så det er en kort hånd til selv at skrive forespørgslerne. Dette giver ingen reel ydeevnefordel, men gør det lettere at skrive komplekse forespørgsler og gøre vedligeholdelsen nemmere (da hvis visningsdefinitionen ændres, behøver du ikke ændre 100 forespørgsler mod visningen, kun den ene definition).

  2. Fristelige udsigter

    Denne type visning opretter en midlertidig tabel med forespørgslen fra visningens SQL. Det har alle fordelene ved flettevisningen, men reducerer også låsetiden på visningens tabeller. Derfor kan det på højt belastede servere have en ret betydelig ydelsesforøgelse.

Der er også visningstypen "Udefineret" (standard), som lader MySQL vælge, hvad den mener er den bedste type på forespørgselstidspunktet...

Men bemærk, at noget vigtigt at bemærke er, at MySQL ikke har nogen understøttelse af materialiserede visninger . Så det er ikke som Oracle, hvor en kompleks visning vil øge ydelsen af ​​forespørgsler i forhold til det væsentligt. Forespørgslerne til visningerne udføres altid i MySQL.

Hvad angår effektiviteten, øger eller mindsker visninger i MySQL ikke effektiviteten. De er der for at gøre dit liv lettere, når du skriver og vedligeholder forespørgsler. Jeg har brugt visninger på tabeller med hundredvis af millioner af rækker, og de har fungeret fint...



  1. oprette trævisningsløkkeforespørgsel

  2. opret tabel med sequence.nextval i oracle

  3. Problemer med at bruge MySQL med AWS Lambda i Python

  4. Hvordan bruger jeg Entity Framework 6 med MySQL i ASP.NET 5?