Jag hade för mig att när man anger alla fältnamn eller skriver * så är det ändå en liten, liten vinst i att skriva in fältnamnen.
Men jag kanske har fel?
Det måste väl bli en optimering om man anger fältnamnet. Om man skulle använda SELECT * i en databas med många poster borde det ju slöa ner minnet och servern åtminstone... eller?
det beror ju på, som kanske redan är konstaterat här, om man ska ha alla fälten i tabellen.
Ska man hämta alla fälten spelar det väl ingen större roll hur man skriver men det är ju lättare att bara skriva *. Men ska man bara ha ett fält av tio så är det ju självklart bättre att skriva fält-namnet.
"SELECT *" är slöare än "SELECT FOO". Spelar ingen roll om man hämtar allt lr inte. SELECT * anger juh inte namn, då förlorar man lite prestanda eftersom databasen själv måste hämta alla namn.
Som med all programmering så är det alltid bättre/snabbare med att deklarerade sak å ting. Desstu mer programmeraren själv tar hand om desstu mindre slipper ske "bakom kuliserna".
Dock är den prestand vinsten så pass liten att man lika gärna kan skriva SELECT *. (Man bör dock använda SELECT FOO när man har välbesök site + stor databas + seg server). Iofs bör en bra programmerare alltid sträva efter att vinna prestanda (dvs utan att förlora på andra plan) ;D
Men SELECT FOO är bättre än SELECT *, det var väl frågan från början =)
Fast vill man vinna prestanda bör man först å främst byta till ett snabbare webbhotel å byta från Access till SQL-databas innan man försöker vinna prestanda från SELECT * ect.
Sen resulterar det ju i olika stora recordset!
SELECT ALL ger ett recordset där alla fält och dess värden är med.
SELECT [fält] ger bara de fält man anger.
Är det många poster och fält, så blir det säkert en liten prestandavinst.
Sen beror det mycket på hur väl man normaliserat databasen. Rätt gjorda tabeller och relationer gör att man kan få tag på mycket mer information både snabbare och enklare.