Toon posts:

[MYSQL] Opslagruimte longtekst velden met waarde null?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een (voor de kenner denk ik simpele) vraag over opslaan van gegevens met MYSQL.

Ik heb een tabel waarin ik meerdere longtekst velden gebruik. Op zich werkt dit prima, maar ik vraag me af of ik efficient opsla op deze manier. Hiermee bedoel ik het volgende:

Het kan zijn dat voor een record alle longtekst velden gevuld zijn. Voor een hele serie records (duizenden, naar verloop van tijd naar verwachting tienduizenden) zullen de longtekst velden echter niet allemaal of zelfs allemaal niet gevuld zijn (waarde null dus). Hoe gaat Mysql hiermee om als het gaat om opslagruimte? Wordt er voor elk record ruimte gereserveerd voor elk van de longtekst velden, zodat het dus ook opslagruimte kost als een longtekst veld de waarde null heeft? Als dit het geval is dan kost het hebben van duizenden records met longtekstvelden die niet gevuld zijn me onnodig veel opslagruimte of valt dit mee?

Ik zou natuurlijk aparte tabellen kunnen maken waar de teksten en staan en daar dan vanuit de hoofdtabel naar verwijzen met keys, maar als dit niet nodig is doe ik dit natuurlijk liever niet.

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 19:59

ripexx

bibs

Het manual van MySQl geeft alleen info over de gebruikte hoeveelheid Bytes van CHAR en VARCHAR velden (http://dev.mysql.com/doc/mysql/en/char.html) Ik vermoed dat er wel iets wordt opgelsagen maar dat niet de volledige ruimte wordt gereserveerd. De LONGTEXT worden intern hetzelfde last BLOB velden afgehandeld. Dus het zou onzinnig zijn om daat ruimte hiervoor te reserveren. Met een simpel script je kan je snel genoeg zien hoeveel ruimte er gemiddeld wordt ingenomen door een rij.

buit is binnen sukkel


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ik heb dit in phpMyAdmin wel eens gecontroleerd, en die geeft aan dat er geen ruimte gereserveerd wordt voor zo'n veld als je er NULL in zet. Je kunt daar zien hoeveel ruimte de tabel op de database inneemt.

Noushka's Magnificent Dream | Unity


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Michali schreef op vrijdag 08 juli 2005 @ 13:16:
Ik heb dit in phpMyAdmin wel eens gecontroleerd, en die geeft aan dat er geen ruimte gereserveerd wordt voor zo'n veld als je er NULL in zet. Je kunt daar zien hoeveel ruimte de tabel op de database inneemt.
Een paar bytes natuurlijk wel ;)

Verwijderd

Topicstarter
Aha, bedankt voor de reacties! Dan is het dus geen probleem om met de huidige opzet te blijven werken, scheelt weer een hoop werk 8)