Toon posts:

[SQL] Hoeveel Bytes per LONGtext field bij halfvol

Pagina: 1
Acties:

Onderwerpen


  • Anoniem: 382855
  • Registratie: November 2010
  • Niet online
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!

  • 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}


  • Anoniem: 382855
  • Registratie: November 2010
  • Niet online
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]


  • 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}


  • Anoniem: 382855
  • Registratie: November 2010
  • Niet online
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

  • RobIII
  • Registratie: December 2001
  • Laatst online: 03:26

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

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.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee