[MySql] Kolommen volgorde database

Pagina: 1
Acties:

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 24-04 13:47
Ik heb even lopen zoeken maar ik kan geen info vinden over de kolommen volgorde van je database.
Als je bijvoorbeeld een leden database hebt met de kolommen naam, email, leeftijd, password.
Maakt het dan uit in welke volgorde je die kolommen maakt in de database ?
Moet je kolommen die je vaker gebruikt meer 'vooraan' zetten ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

Nee :)
En als je blijft twijfelen probeer je het uit :)
Verschillen zullen marginaal zijn :)

[ Voor 88% gewijzigd door gorgi_19 op 18-02-2005 20:49 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01-2025
Hmmm... klinkt onwaarschijnlijk. Maar het is niet geheel onmogelijk.

Misschien is een query (ook) wel sneller als je de velden specificatie bij een SELECT in de volgorde zet van de structuur van de betreffende tabel :) Zoals dat wel uit maakt bij een WHERE clausule, waar het echter dan wel gaat om zo mogelijke resultaten uit te sluiten.

Kunnen nog verassende benchmarks uit komen, al verwacht ik weinig verschil.

Vormkracht10


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

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 ]


Verwijderd

ACM schreef op vrijdag 18 februari 2005 @ 21:16:
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 :)
Hier kan ik me wel iets bij voorstellen. Als een veld niet gebruikt wordt is het waarschijnlijk makkelijker om een veld met vaste lengte over te slaan dan een veld met variabele veldlengte. Maar of het echt significant sneller is. Waarschijnlijk niet.

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 24-04 13:47
Ik sta ook verbaast dat niet eerder hier discussies over zijn geweest, het is het eerste wat ik mezelf afvroeg bij het maken van een database.
Maar je zou het idd moeten testen en de snelheden noteren. Heb ik nu alleen even geen zin in ;)
Pagina: 1