Citat:
Originally posted by Frej@Oct 22 2007, 15:14
Martine: Självklart kan man hämta och använda sig av Between även om man normaliserar data, man använder vyer för att skapa "tabeller" för att hämta datat man vill hantera. Förövrigt är det inte "best practice" att använda SELECT, INSERT, UPDATE eller DELETE direkt mot tabeller. SELECT skall köras mot Vyer och UPDATE, INSERT och DELETE skall köras mot lagrade procedurer.
|
Nu är det möjligt att du är mycket bättre insatt i databaser men ger det verkligen alltid en prestandavinst att använda vyer och procedurer? Det är ju trots allt en omväg till informationen…
Den stora vinsten ligger väl antagligen i att använda rader av fast bredd och inte om det kostar 2 eller 3 bytes. För framtidssäkring känns det trots all säkrare att satsa på "enkla" lösningar och låta databasen sköta optimeringen. Det kan mycket väl hända att lyfta 4 bytes data från en tabell går snabbare än 2 bytes om du har en processor som kör med 64 bitar, med 2 bytes måste den då maska ut 32 bitar och skicka dem separat, medans 4 bytes kan skickas löpande.
"Supernormalisering" betyder ju inte alltid prestandavinst och för min del tycker jag frågan också är om man inte gör saker krånligare än vad är nödvändigt i optimeringssyfte.