Bij PostgreSQL werd verteld door een lead-programmer dat de beste performance zou moeten worden behaald met alle velden met een vaste grootte vooraan te plaatsen, dan de non-null velden met variabele grootte, dan de nullable velden met vaste grootte en dan de nullable velden met variabele grootte.
Als ik het me goed herinner iig, punten 2 en 3 zouden ook omgedraaid kunnen zijn
Maar de verschillen zijn waarschijnlijk vrij marginaal. MySQL slaat een en ander weer wat anders op en ik vermoed dat de verschillen in kolom-volgorde erg klein zijn, voor zover ze uberhaupt bestaan. Wellicht is het wel sneller om de meest doorzochte velden (primary key bijv) vooraan te plaatsen, zodat er niet te ver in het record an-sich gezocht hoeft te worden, maar dat zijn over het algemeen scans in het geheugen en die zijn meestal vrij vlot.
Ik heb wat benchmarks gedaan en kan niet uitmaken wat sneller is, de kolommen op alfabetische volgorde met de pk achteraan en wat selecties op de achterste velden of die velden juist vooraan zetten. 't Verschil in performance zal wel zo goed als te verwaarlozen zijn.
[
Voor 14% gewijzigd door
ACM op 18-02-2005 21:57
]