Mysql views/routines

Tags:    mysql views routines

Hej alle samen :)

Jeg har aldrig fået sat mig ind i views & routines, er der nogen der lige hurtigt kan forklare hvad fordele jeg ville ha' ved at bruge dem

er det værd at bruge et par dage på at læse om det, eller det er ikke brugbart på "normale" hjemmeside?





7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Jeg bruger views i Oracle og SqlServer og det må jo være det samme, rent begrebsmæssigt.

Så et view er en virtuel udgave af en tabel, hvor du f.eks. kan joine to tabeller. Men mulighederne er enorme.

Forestil dig at du har to tabeller (herunder meget forenklet).

Brugertabel:

brugernavn
adresse
postnr
telefonnr


og en postnrtabel:

postnr
bynavn


Nu kan du så lave et view hvor du altid har bynavnet med på en bruger, selvom du ikke har det med i tabellen (pga. redundante data).

så viewet indeholder følgende virtuelle kolonner:

brugernavn
adresse
postnr
bynavn
telefonnr

Du kan så fra dine applikationer selecte på viewet i stedet for tabellen.



okay, det lyder ik helt dumt :)

edit:
nogen der kan svare på hvad routines kan bruges til?



Indlæg senest redigeret d. 21.09.2011 13:54 af Bruger #3427
Jeg googlede lige og en mysql routine er hvad der svarer til en stored procedure eller function. Det betyder at du kan kode en gruppe af sql-statements i en funktion. Så det er som at kode en funktion i hvilket som helst programmeringssprog og så kan funktionen kaldes, f.eks. fra en trigger på en tabel. En trigger er f.eks. når der indsættes en record i en tabel, så kan du udføre en routine der gør noget ekstra bagefter.

Læs evt. mere her: http://dev.mysql.com/doc/refman/5.1/en/stored-routines.html :-)



okay, tak for hjælpen, tror da lige jeg vil læse lidt om det.. kunne godt lyde som om man kunne spare nogen sql linjer væk i sit app :)



Der hvor jeg arbejder, er meget af applikationen netop flyttet ud i stored procedures for at skaffe bedre performance. Men det er et helvede at fejlsøge på i en applikation, da man "aldrig" ved om det er i databasens funktioner eller applikationskoden at problemet opstår.

Så min mening er at det skal bruges hvis det er tvingende nødvendigt og ikke fordi det er smart :-)



ja det er klart, alt med måde.



Der vil jeg af egne sure erfaringer give Brian ret. Stored procedures kan virkelig gøre tingelig kompliceret hvis de ikke bruges med fornuft. Der ud over kan det være svært at putte stored procedures i et versionsstyringværktøj (SVN, Git, etc) på en fornuftig måde. Et stort behov for stored procedures er ofte et symptom på et andet større problem.

Men hvis stored procedures bruges fornuftigt og til det formål de er lavet til: optimering, så kan de være ganske fornuftige til at øge performance.



t