sql >> Database >  >> RDS >> PostgreSQL

Tuples worden niet opeenvolgend in de databasetabel ingevoegd?

Dit is een misverstand. Er is geen "natuurlijke" volgorde in een relationele databasetabel. Hoewel rijen normaal gesproken in volgorde worden ingevoegd in het fysieke bestand met een tabel, kan een breed scala aan activiteiten de fysieke volgorde wijzigen. En query's die meer doen dan een eenvoudige (niet-parallelle) sequentiële scan, kunnen rijen in elke gewenste volgorde retourneren. Dat is volgens standaard SQL.

De volgorde die je ziet is willekeurig, tenzij je ORDER BY toevoegt naar de vraag.

pgAdmin3 ordent standaard rijen met de primaire sleutel (tenzij anders aangegeven). Uw kolom is van het type varchar en rijen zijn alfabetisch gerangschikt (volgens uw huidige landinstelling). Allemaal volgens ontwerp, allemaal zoals het zou moeten zijn.

Om rijen te sorteren zoals u lijkt te verwachten, kunt u een '0' in uw tekst invullen:

...
typename_0009
typename_0010
...

De juiste oplossing zou echter een numerieke kolom zijn met alleen het nummer.

Mogelijk bent u geïnteresseerd in natuurlijke sortering. Mogelijk bent u ook geïnteresseerd in een serial kolom.



  1. Master High Availability Manager (MHA) is gecrasht! Wat moet ik nu doen?

  2. Waarom verliest SQL Server een milliseconde?

  3. Wat is DBMS? – Een uitgebreide gids voor databasebeheersystemen

  4. sqlite:hoe voeg ik de totale tijd toe uu:mm:ss waarbij het kolomgegevenstype DATETIME is?