punt 3 zou bij mij vallen onder ontwerp, niet onder optimaliseren.
Iedere database heeft zijn eigen mogelijkheden en beperkingen. Zo kun je bij firebird oa het gebruik van een index forceren door een dummy vergelijking op te nemen die altijd true oplevert.
Verder moet je zoals Goleztrol ook al aangaf een representatieve en goed gevulde testdataset hebben. Die set moet ook voldoende groot zijn.
Multiplatform kan naar mijn mening dan ook alleen als je de eigenaardigheden van die ondersteunde databases kent. Automatische optimizers kunnen volgens mij nooit het optimum halen omdat ze van gemiddelden uitgaan.
Runtime optimizers zijn al helemaal een buikpijn geval, omdat je geen controle meer hebt over wat er onderwater gebeurt.
[EDIT]Jouw punt 2 is naar mijn mening altijd nodig. Een generieke query die voor alle databases optimaal is bestaat volgens mij niet (behalve eventueel select * from table, maar echte programmeurs gebruiken die natuurlijk niet ) [/EDIT]
Bookmarks