YapfHoofdpagina | Info | Hulp | FAQ (veelgestelde vragen) | Speciale pagina's | Aanmelden


Printervriendelijke versie | Voorbehoud | Privacybeleid

Limieten en beperkingen

Uit Yapf

Sequences en auto_inrement

De limieten van sequences hangen af van het merk database. PostgreSQL gebruikt standaard een INT4, mar via BIGSERIAL kan hij ook een INT8 aan.

MySQL heeft niet echt een limiet op auto_increment, waardoor de fijne Duplicate value 127 for key 1 wordt veroorzaakt.

Wat moet ik doen als ik de limiet van een auto_increment of sequence bereik?

Uitbundig feestvieren, want dan ben je heel erg oud geworden!

Gewoonlijk gebruik je voor auto_increment of sequence een INTEGER van vier bytes, dat is dus 256^4 = 4.3 miljard mogelijke waarden. Zelfs als je 24/7 elke seconde 136 records invoert dan duurt het nog een jaar voordat je aan de 4.3Mld zit.


Het aantal toepassingen dat zoiets zou doen kun je op één hand tellen. In de praktijk zul je, zeker met websites, niet meer dan 10 tot 20 records per seconden invoeren en dan nog alleen in de piekuren op zeer drukke websites.

Oftewel, die limiet bereik je niet zo makkelijk.

In PostgreSQL kan het nog gekker. Hier kun je een 8-bytes integer gebruiken voor de sequence, dat betekent 256^8=18446744073 Miljard(!) waardes. Er is geen realistisch aantal records dat je per seconde zou kunnen invoeren om dat binnen jouw leven nog vol te krijgen.


Noot: Voor MySQL gebruikers, als je TINYINT gebruikt heb je de limiet morgen al bereikt, want TINYINT gaat maar tot 127. Probeer nooit te beknibbelen op de afmeting van je database door kleinere datatypes te kiezen. Je weet van tevoren nooit hoeveel records je gaat krijgen en als je het wel weet dan heb je meestal het verkeerde getal in gedachten. Bedenk ook dat 127 niet het maximum aantal records in de tabel is, maar het maximum aantal keer dat je een record kunt inserten, ook als je het direct erna weer wist. Neem altijd tenminste UNSIGNED INTEGER voor auto_increment, en niets minder dan dat. (UNSIGNED omdat de standaard integers 'SIGNED' zijn, wat betekent dat de helft van het bereik van de integer wordt gebruikt voor negatieve getallen en die gebruik je toch niet)

Teruggeplaatst van "http://www.yapf.net/index.php/Limieten_en_beperkingen"

Deze pagina is 414 maal bekeken. Deze pagina is het laatst bewerkt op 2 apr 2009 om 17:18.


Zoeken

Bladeren
Hoofdpagina
Gebruikersportaal
In het nieuws
Recente wijzigingen
Willekeurige pagina
Hulp
Bewerken
Brontekst bekijken
Hulp bij bewerken
Paginaopties
Overlegpagina
Opmerking toevoegen
Printervriendelijke versie
Pagina-informatie
Paginageschiedenis
Verwijzingen naar deze pagina
Verwante wijzigingen
Mijn pagina's
Aanmelden / registreren
Speciale pagina’s
Nieuwe pagina's
Bestandslijst
Statistieken
Foutrapporten
Meer …