[SQL] Hoeveel Bytes per LONGtext field bij halfvol

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 382855

Topicstarter
Hallo lezer,

Ik had een vraagje met betrekking tot SQL. Ik ben een leuk sandbox-like cms systeem aan het designen en nu ben ik bij het database ontwerp aangekomen. Het lukt allemaal aardig, nadat ik het systeem goed heb uitgedacht alleen snap ik iets niet.

Stel je hebt een kolom welke Longtext kan zijn en één veld ervan is bijvoorbeeld gevuld met het woord "hallo" en één veld met een heel boek (voor zover dat kan passen etc). Nemen deze twee velden evenveel ruimte in het geheugen in? En/of op disk? En verschilt dit bij verschillende database engines?

Side info: Momenteel gebruik ik mySQL maar aangezien ik in de toekomst 100% meerdere databases ga gebruiken hoor ik graag ook hoe het zit bij andere databases en als het kan bij andere soorten velden.

Bedankt voor het lezen iig!

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Voor wat betreft mysql staat het antwoord op al je vragen in: http://dev.mysql.com/doc/...storage-requirements.html :)

En dit soort zaken verschilt per dbms, alhoewel ze eigenlijk allemaal wel een variabele lengte teksttype hebben en er dus geen probleem is. :P

offtopic:
En als je het puur op basis van wat tekstjes opslag een probleem wordt, zit je met een enorm luxeprobleem. B)

[ Voor 53% gewijzigd door Voutloos op 29-06-2011 21:17 ]

{signature}


Acties:
  • 0 Henk 'm!

Anoniem: 382855

Topicstarter
Oja, ik ben deze link er vergeten bij te zetten en te zeggen dat ik er niets van snapte :P

iets met wiskunde, luiheid, spijt, vmbo-tl, mbo opleiding ict waar je geen lessen kreeg en nu pas hbo doen :(

Wil jij het mij uitleggen?

(en ik wil het graag uit principe weten, ik weet dat het niet zo snel een probleem wordt, maar het wel een probleem kán worden als je bij een shared host zit en een website maakt met 1 miljoen bezoekers per maand misschien, weet ik ook niet)

[ Voor 40% gewijzigd door Anoniem: 382855 op 29-06-2011 21:22 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
TINYBLOB, TINYTEXT L + 1 bytes, where L < 28
BLOB, TEXT L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT L + 4 bytes, where L < 232
Voor het gemak het laatste (en grootste) type:
Deze kan 232 bytes opslaan, oftewel een tekst van 4GB. En heeft daarbij 4 bytes nodig om de lengte bij te houden.

Nog eenvoudiger: die paar bytes tov de daadwerkelijke tekst zijn compleet verwaarloosbaar. Dus pak het type dat past en je hoeft er nooit meer bij stil te staan.

En nofi, maar dit soort sommetjes moet je kunnen begrijpen als je een succesvol programmeur wilt zijn, dus pak je oude boeken er maar weer bij. Wellicht is een boek met de basics vh programmeren ook wel handig, want dan worden datatypes en bits & bytes uitvoerig uitgelegd. :)
Anoniem: 382855 schreef op woensdag 29 juni 2011 @ 21:18:
1 miljoen bezoekers per maand misschien, weet ik ook niet)
Zorg eerst maar dat je zover komt, maar technisch gezien is het niet eens zo heel lastig veel. Zeker aangezien ze lang niet allemaal continu content zullen genereren.

[ Voor 37% gewijzigd door Voutloos op 29-06-2011 21:43 ]

{signature}


Acties:
  • 0 Henk 'm!

Anoniem: 382855

Topicstarter
Nou bedankt! :) Dit heeft mij zéker verder geholpen en dit topic kan gezien worden als 'solved'. Ik wist namelijk niet dat er op die manier bijgehouden werd om de lengte van een veld bij te houden :o Heel leerzaam om te weten

Je hebt totaal gelijk trouwens met dat wiskunde, als ik getallen met een klein cijfer erachter zie (tot de) raak ik altijd door de war :S
Moet het zeker weer eventjes oppikken ja :p

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Anoniem: 382855 schreef op woensdag 29 juni 2011 @ 23:11:
Je hebt totaal gelijk trouwens met dat wiskunde, als ik getallen met een klein cijfer erachter zie (tot de) raak ik altijd door de war :S
Zo moeilijk is machtsverheffen (zo heet dat "tot de") niet; je vermenigvuldigt het "grote cijfer" (grondtal) gewoon net zo vaak met zichzelf als het "kleine cijfer" (exponent) aangeeft:

28 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 256
34 = 3 * 3 * 3 * 3 = 81

In deze tak van de sport zie je veel machten van 2; dus 28, 216, 232, 264. Waarom? Omdat het binaire talstelsel 2 cijfers kent: 0 en 1. En die worden vaak in groepjes van 8 (byte), 16 (word), 32 (double word) of 64 (quad word) gebruikt.

Maar goed; voor zo ver programmeerles no 1 :P

offtopic:
En oefen, uit je hoofd, vast het volgende rijtje: 1, 2, 4, 8, 16, 32, 64... etc. Als je 'm tot zéker ~65.536 (216) uit je hoofd kent ga je er nog veel profijt van hebben als je vaak met bits/bytes speelt :Y) Je zult zien dat veel van die getallen vaak terugkomen in ons vak en dan is het verdomd handig als je ziet waarom, bijv., je programma crashed als er het "rare" getal van 32.768 records in je array zitten (ik noem maar wat). Andere "magische" getallen als ~4.2 miljard (232), ~2.1 miljard (231) zie je ook vaak terugkeren.
Meer leuks in onze Getallen en talstelsels FAQ; allicht een goede jumpstart als je nog wat kennis moet bijschaven.

[ Voor 23% gewijzigd door RobIII op 29-06-2011 23:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1