Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

MySQL users / PK's

Mvlstar
2 antwoorden
  • Ik heb twee vragen (oké, Bill het zijn niet alleen webprogrammeer vragen maar ik wist niet waar ik ze anders moets laten)

    1.: Is het verstandig om in een database systeem (Oracle, MySQL, MSQL, enz) een varchar kolom PK te maken en deze dan te vullen met de verschillende outputs van de PHP uniqueid() functie? Ik heb al 1 reactie gehad en die was als volg"t:
    [quote:ae7b7dcfd1]
    als je wilt kan je een PK op een varchar veld leggen maar verstandig is het niet, het komt de snelheid niet ten goede en bij een varchar veld is 2 groter dan 100 dit kan bij het sorteren onverwachte resultaten opleveren. [/quote:ae7b7dcfd1]
    Dit klinkt erg logisch maar,
    zijn er hier nog andere meningen over?

    2.: Een PHP user systeem is het slimmer om bij de database users aan te maken of is het verstandiger om 1 echte database user aan te maken en dan met deze user andere users als volgt toevoegen:
    Een user geeft een username en password van het password zet ik dan een gecodeerde (MD5) versie in de (zelfgemaakte) user tabel en vergelijk hiermee of een user het goede password heeft?
    Welke van deze twee opties is slimmer (het gaat over redelijke aantallen gebruikers, 100+). Ikzelf denk dat de tweede optie slimmer is, maar wie ben ik…

    Bedankt,
    Marcel
  • 1. Een PK en een index zijn twee verschillende dingen. Het feit dat de meeste database systemen automatisch een index aanleggen op de PK doet daar niets aan af. Het antwoord dat je krijgt is dan ook een halve waarheid, imho.
    En sortering hoef je je normaalgesproken ook geen zorgen over te maken, waarom zou je namelijk een PK veld willen sorteren??
    Sneller? Een integer index search is inderdaad sneller dan een varchar. Maar snelheid moet natuurlijk niet de enige factor zijn in de beslissing voor een bepaalde techniek. Dat snelheidsverschil merk je overigens natuurlijk alleen als je intensief gebruik maakt van de index in je queries.

    Maar ja, vanuit praktisch oogpunt is het inderdaad over het algemeen handiger om je PK gewoon op een integer veld te zetten (met autounmmering). Data integriteit van het uniqueidentifier veld kan je met een UNIQUE constraint waarborgen. En om de opzoeksnelheid kan je ook over dat veld een index gooien.

    2. Voor alle gebruikers van je applicatie een database user aanmaken? Dat wil je niet ;)
    Als ze geen rechtstreekse toegang tot de database nodig hebben dan laat je alles via je applicatie verlopen.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.