28. oktober 2007 - 11:46Der er
8 kommentarer og 2 løsninger
Skal jeg selecte fra et view eller direkte fra tabellen?
Jeg står og skal hente noget data ud fra en tabel, som vil være vores sidste 10 tilbud. Jeg har så lavet en stored procedure, men ved ikke om det ville være mere optimalt også at lave et view af de 10 tilbud, og så i min stored procedure hente fra viewet istedtfor.
Jeg tænkte så på om det ville optimere processerne hvis jeg oprettede et view, som selectede de 20 seneste, og jeg så i min stored procedure selectede alt fra mit view, eller om det ikke ville være nogen forskel.
Det ville nemlig nok skulle gøre 100.000 gange eller mere om dagen.
De 20 seneste er jo ikke statisk, så den query ville skulle køres hver gang alligevel.
Jeg er ret sikker på at du vil være fint kørende med SP+tabel.
100000 SELECT per dag er kun lige god 1 SELECT per sekund og det er slet ikke slemt.
Iøvrigt vil SP+view+tabel formentligt være langsommere end SP+tabel i dit tilfælde.
Medmindre du har en virkeligt stor database, så tror jeg ikke at view laget giver dig noget, så jeg vil derfor anbefale at din SP går direkte på tabel.
Et almindeligt view laver intet som helst andet end at du kan skrive lidt mindre kode i din select. Koden er i sidste ende den samme som hvis du tog alt sql'en fra viet og smed ind i din select. Hvis du vil lave et materialized view, eller blot smide rækkerne over i en anden tabel, som du opdaterer med jævne mellemrum, så kan der være en fortjeneste, men ikke ved blot at lave et view. Hvis sql'en er den samme hver gang, tror jeg at cache-funktionen vil hjælpe dig til at få rækkerne hurtigt og du behøver derfor ikke at flytte nogle data, men hvis svartiderne bliver lange, så lav en lille opslagstabel hvor du vedligeholder data med jævne mellemrum.
Hvis din sql er kompliceret og du skal bruge det flere steder, så lav endeligt et view, og select fra dette, men det "koster det samme"
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.