sql >> Database teknologi >  >> RDS >> Mysql

Hvad er standardvalgrækkefølgen i PostgreSQL eller MySQL?

Jeg kan svare for MySQL. Jeg kender ikke til PostgreSQL.

Standardrækkefølgen er generelt ikke rækkefølgen af ​​indsættelse.

I tilfælde af InnoDB afhænger standardrækkefølgen af ​​rækkefølgen af ​​det læste indeks for forespørgslen. Du kan få disse oplysninger fra EXPLAIN-planen.

For MyISAM returnerer den ordrer i den rækkefølge, de læses fra tabellen. Dette måske være rækkefølgen af ​​indsættelse, men MyISAM vil genbruge huller, efter du har slettet poster, så nyere rækker kan blive gemt tidligere.

Intet af dette er garanteret; det er bare en bivirkning af den nuværende implementering. MySQL kunne ændre implementeringen i den næste version, hvilket gør standardrækkefølgen af ​​resultatsæt anderledes uden at krænke nogen dokumenteret adfærd.

Så hvis du har brug for resultaterne i en bestemt rækkefølge, skal du bruge ORDER BY på dine forespørgsler.



  1. Sådan omdefineres de kolonner, der returneres af en lagret procedure i SQL Server

  2. MySQL viser aktuelle forbindelsesoplysninger

  3. Web2py – Migrering fra SQLite til MySQL

  4. Næsthøjeste værdi fra Oracle DB's tabel